收藏
回答

小程序的map清除markers setData将marker置空后,安卓还会显示上次的内容?

小程序map组件,初始化渲染marker之后,点击类型切换,重新请求数据,在请求时先用setData将marker设为[ ] ,再赋值新数组,但是安卓还会显示上次marker的内容

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

4 个回答

  • 喂喂喂♚♚♚♚
    喂喂喂♚♚♚♚
    2021-10-27

    用这个 api 清除marker

    this.mapCtx.addMarkers({

          clear: true,

          markers: [],

      success: (res) => {

      console.log('removeMarkers', res)

      }

        })

    2021-10-27
    有用 1
    回复 4
    • 今晚吃火锅耶
      今晚吃火锅耶
      2021-10-28
      是个好方法,基本可以解决,谢谢
      2021-10-28
      回复
    • 🇦 🇮 🇲 🇲
      🇦 🇮 🇲 🇲
      2021-11-01
      一样的问题 ios可以 安卓预览和线上图标显示有问题,试了层主的解决方法没用,
      2021-11-01
      回复
    • K
      K
      2021-11-24
      用this.mapCtx.removeMarkers 这个api 不行?
      2021-11-24
      回复
    • 今晚吃火锅耶
      今晚吃火锅耶
      2021-12-13回复🇦 🇮 🇲 🇲
      是的,我之前也是试了就是安卓有问题
      2021-12-13
      回复
  • 今晚吃火锅耶
    今晚吃火锅耶
    2021-12-13

    这个主要是因为多个请求并发导致的,可以使用全局变量time记录当前请求时间,使用begin局部变量设置为相同时间,在请求回来之后将全局变量赋值为新的时间,判断如果time不等于begin,就是说明有这个请求不是最开始那个请求,直接抛弃掉,当两个值相等时,说明是顺序的一个请求,则渲染marker


    例如 拖动地图 或者切换地图marker显示类型时重新获取marker信息,拖动的时候或者类型切换特别多次时,上次的marker还没清掉,下次的就渲染上去了,就会有重复显示的情况

    2021-12-13
    有用
    回复
  • L
    L
    2021-11-20

    楼主解决了吗

    2021-11-20
    有用
    回复 3
  • Cjiang
    Cjiang
    2021-10-27

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

    2021-10-27
    有用
    回复 3
    • 今晚吃火锅耶
      今晚吃火锅耶
      2021-10-27
      工具正常,基本上所有的安卓都有这个问题
      2021-10-27
      回复
    • 今晚吃火锅耶
      今晚吃火锅耶
      2021-10-27
      2021-10-27
      回复
    • Cjiang
      Cjiang
      2021-10-27回复今晚吃火锅耶
      按照上面链接提供下复现代码片段看看
      2021-10-27
      回复
登录 后发表内容