收藏
回答

map组件再ios手机上快速的渲染新的markers会出现有些marker永久存在

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug map 微信iOS客户端 7.0.14 2.12.0

我这边做了marker的聚合逻辑,需要再缩放地图后进行所有marker的计算,然后将新的markers渲染到地图上;当在ios设备上快速多次的缩小地图,放大地图操作,会有一定概率出现有些之前计算并显示的marker永久显示在地图上清理不掉,就算设置空的markers数据来渲染地图也清理不掉。怀疑是ios设备上快频率的渲染marker,导致地图出现marker数据的计算泄漏。烦请查询原因。

目前再多款ios设备上均能复现问题。

回答关注问题邀请回答
收藏

3 个回答

  • a沐
    a沐
    2020-07-23

    已经找到详细的原因并已经规避。原因是marker的icon用的是网络图片,当在ios上涉及大量的marker更新操作,会出现有些marker泄漏,再也无法从地图上被清理掉的情况,marker换项目本地图片后正常。换网络图片后也会出现marker的频闪问题。建议复查修复以上2个问题。

    同时给路过的朋友一个规避方案

    2020-07-23
    有用 1
    回复
  • Imp
    Imp
    2020-10-15

    请问动态修改markers然后渲染到地图上怎么实现得?

    2020-10-15
    有用
    回复
  • Cjiang
    Cjiang
    2020-07-10

    你好,麻烦提供出现问题的具体机型、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-07-10
    有用
    回复 4
    • a沐
      a沐
      2020-07-17
      已经找到详细的原因并已经规避。原因是marker的icon用的是网络图片,当在ios上涉及大量的marker更新操作,会出现有些marker泄漏,再也无法从地图上被清理掉的情况,marker换项目本地图片后正常。换网络图片后也会出现marker的频闪问题。建议复查修复以上2个问题。
      2020-07-17
      1
      回复
    • 走阜
      走阜
      2021-04-13
      你好,关于map组件的marker。


      * 出现问题:对map组件marker进行setData更新数据时,频率过快会发生上一次的标记点残留在map上,新请求到的数据也渲染到map上,页面出现两倍/三倍的标记点。但是打印marker长度未变化
      * 考虑是地图未渲染完成就setData造成的,于是在每次获取到新数据,setData之前,判断地图是否渲染完成,直到地图渲染完成再进行setData,但是仍会发生该情况。
      代码片段:https://developers.weixin.qq.com/s/h6WBuwm57QpX
      2021-04-13
      回复
    • Cjiang
      Cjiang
      2021-04-14回复走阜
      麻烦重新发帖
      2021-04-14
      回复
    • 走阜
      走阜
      2021-04-14回复Cjiang
      你好,已经发过帖,也已经重新发帖,但是在交流板块页面看不到,麻烦您看下我主页或者链接:https://developers.weixin.qq.com/community/develop/doc/000c4ec9a6825818e7fb4619e52800?fromCreate=0,谢谢
      2021-04-14
      回复
登录 后发表内容
问题标签