在小程序里面调用微信内置地图

在小程序里面调用微信内置地图,第1张

标记点markers只能在初始化的时候设置,不支持动态更告樱裂新。

示例:

<!-- map.wxml --> <map longitude="23.099994" latitude="113.324520" markers="{{markers}}" covers="{{covers}}" style="width: 375pxheight: 200px"></map> // map.js Page({ data: {markers: [{ latitude: 23.099994, longitude: 113.324520, name: 'T.I.T 创意园'袜闭, desc: '我现在的位置'}],covers: [{ latitude: 23.099794, longitude: 113.324520, icaonPath: '../images/car.png', rotate: 10}, { latitude: 23.099298, longitude: 113.324129, iconPath: '../颂滚images/car.png', rotate: 90}] } })

问题 :

用户频繁切换头部 tab ,数据请求,地图更新

ios正常

!!android手机会出现闪退情况

解决 :

经过各种排查,发现主要原因是因为 标注文本 总是呈显示状态,以至于过标注点时,绘制过多造成小程序闪退,此时只要注释掉 display:'ALWAYS' 即可

当然,注释掉之后气泡只有在点击标注点的时候才会显并模禅示,想要用户 点击标绝尘记码派点 或者 点击气泡 再进行 *** 作的话,可以分别给 <map>设置

其他未确定因素:

也有可能tab切换过快,接口请求过于频繁造成的,此时你可以写一个计时器,避免这种问题

如果你的轨迹回放报出这个错误,那么你可能和我一样,是在轨迹没世回放还未结束的时候或者说是还没有到一个点停止的时候就更新了新的位置信息,想让地图重新的渲染并执行。

这问题的根源就是小程序地图并没有销毁地图的方法,所以我们只能通过去掉地图上的点或者线来实现销毁地图的效果,但毁察姿是这是有一个前提的,因为我们不能直接通过销毁地图来更新数据,所以我们只能在轨迹回放到一个点结束或者是全部回放结束了的时候才能开始更换新的数据,如果在中途就突然的更新掉数据那么就会报上图的错。

所以解决方法就是做一个判断,在轨迹未到下一个点的时候就让他继续走,直到触发到了下一个点,就可以进行数纤绝据的更新了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12370250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存