地图includePoints接口离开页面后会自动执行一次
发布于 5 年前 作者 tsu 12745 次浏览 来自 官方Issues

初始加载页面, 这里在onload时调用了includePoints显示marker点的最佳视野

onLoad: function () {
    console.log('onLoad--->success')
    this.mapCtx = wx.createMapContext("map");
    this.mapCtx && this.mapCtx.includePoints && this.mapCtx.includePoints({
      points: [
        {
          latitude31.742837,
          longitude120.939063
        }
      ],
      padding: ["50""50""50""50"],
      success() => {
        console.log('includePoints-->success')
      }
    })
  },

拖拽地图将marker点移到别处(这一步纯粹是为了容易看到问题)

点击下一页(下一页必须包含map组件才可以复现)

<!-- 下一页wxml -->
<view>
  <map></map>
</view>

这个时候可以发现又执行了这个时候可以发现又执行了一次includePoints ,点击返回上一页。发现页面marker点已经是最佳视野

大多数情况下应该都是没啥问题的, 但是当地图上有多个marker点最佳视野,我选中一个marker点居中后,进入下一个页面(包含map),这会导致返回上一页时又回到最佳视野,而不是我选中的那个marker点。

希望耐心看到这里的同学可以使用代码片段试一试,有头绪可以在下面多多留言讨论

回到顶部