用户距离您30米
用户距离您30米
  • 发布:2019-03-07 17:03
  • 更新:2019-04-15 23:08
  • 阅读:470

【报Bug】uni.createMapContext(mapId,this)里面的translateMarker无效

分类:uni-app
                            for (var i = 0; i < this.alldata.length; i++) {  
                setTimeout((i) => {  
                    lnglatdata.push({  
                        latitude: this.alldata[index].gps_lat,  
                        longitude: this.alldata[index].gps_lng,  
                    });  
                    pointdata[0] = ({  
                        id: 1,  
                        latitude: this.alldata[index].gps_lat,  
                        longitude: this.alldata[index].gps_lng,  
                        iconPath: '/static/qiche.png',  
                        rotate: this.alldata[index].gps_dirct,  
                        alpha: 0.5,  
                        width: 38,  
                        height: 68,  
                        callout: {  
                            content: "111",  
                            color: "#ff0000",  
                            fontSize: "16",  
                            borderRadius: "10",  
                            bgColor: "#ffffff",  
                            padding: "10",  
                            display: "ALWAYS"  
                        }  
                    });  

                    var mapContext = uni.createMapContext('myMap',this);  
                    mapContext.translateMarker({  
                        markerId:pointdata[0].id,  
                        destination:{longitude:116,latitude:40},  
                        autoRotate:true,  
                        rotate:150,  
                        duration:1000,  
                        animationEnd:function(){  
                            console.log(123)  
                        },  
                        fail(e) {  
                            console.log(e)  
                        }  
                    })  
                    index++;  
                }, 300 * i);  

            }              

这是其中的代码,经过测试,里面的translateMarke都没反应,小程序可以,但是app无效,该bug去年就有人提问过,官方也确认了bug,还回答了尽快修复,但是到目前发现还没解决

2019-03-07 17:03 分享
已邀请:
DCloud_UNI_Neil

DCloud_UNI_Neil

给个完整的能运行起来的工程

用户距离您30米

用户距离您30米 (作者)

这是一个简单的项目,下载解压运行即可

DCloud_UNI_Neil

DCloud_UNI_Neil

使用HBuilderX1.6.2 测试translateMarker是生效的,可能是你设置的值太大了导致你没看到logo移动后的新位置,你将值设置小一点试试。

  • 用户距离您30米 (作者)

    跟我的测试没什么区别啊,但是你并没有告诉我除了markerId,destination以外的其他5个有没有生效问题,我的问题是就markerId,destination生效了,为什么autoRotate,rotate,duration,animationEnd,fail没有生效,我要的效果是后面的

    2019-03-07 18:07

  • DCloud_UNI_Neil

    回复 用户距离您30米:autoRotate,rotate,duration这三个在app端不支持,animationEnd这个目前还不支持,可以在后续版本中添加

    2019-03-07 18:24

  • 用户距离您30米 (作者)

    回复 DCloud_UNI_Neil:不是说支持+APP的么,忙了这么久还是不支持,心塞,有没有什么办法让app的地图的markers图标为车的时候,可以根据路线转弯

    2019-03-07 18:33

  • DCloud_UNI_Neil

    回复 用户距离您30米:暂时没有好的办法

    2019-03-07 18:42

  • UserX

    回复 DCloud_UNI_Neil:请问用<WebView>引入网页可以吗?

    2019-03-07 19:56

  • fategaga

    回复 DCloud_UNI_Neil:现在解决了么?

    2019-04-11 16:50

dreaman

dreaman

marker给了id以后不在地图上显示了,去掉id就显示

dreaman

dreaman

translateMarker 一直报"translateMarker:failTypeError: Cannot read property 'getRotation' of undefined"}错误

dreaman

dreaman

经过对浏览器的network请求跟踪发现,当给marker数据增加了id属性以后,没有发送请求图标图片的请求,取消id属性则会

dreaman

dreaman

markers的数据是动态变更了,根据获取到的数据,push进去了指定的marker数据,不是在data中静态设置死的

dreaman

dreaman

上面那位仁兄的样例代码倒是能够显示出来图标,说明应该是动态加载markers数据那块有bug

dreaman

dreaman

终于试出来问题所在了,markers通过push的方式一个一个添加进去不行,一次性把所有的marker以数组的方式给到markers可以,这个bug隐藏的很深

fategaga

fategaga

到现在解决了么?

fategaga

fategaga

这个问题有解决么?

fategaga

fategaga

有demo么,能共享一下么,谢谢

  • 用户距离您30米 (作者)

    这个挺麻烦的,我没写有简单demo,按我说的做是可以实现的,至少不会有坑

    2019-04-16 09:15

要回复问题请先登录注册