收藏
回答

map组件中打开界面自动定位中心经纬度为当前位置不准确?

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

以下代码第一次进入到页面时,不能够自动定位中心经纬度为当前位置,退出当前界面再重新进去时,才会定位中心点位置为当前位置

<map id="myMap" style="width: 100%; height: 100%;" latitude="{{currlat}}" longitude="{{currlon}}" show-location="{{true}}" />


Page({
  data: {
    currlat: 0, // 初始纬度
    currlon: 0, // 初始经度
  },
  onLoad: function () {
        let that = this
     wx.getLocation({
      type'gcj02'//返回可以用于wx.openLocation的经纬度
      successfunction (res{
        that.setData({
          currlon:res.longitude,
          currlat:res.latitude
        })
      },
      failfunction (res{
        util.showToast(res)
      }
    })
  },
});


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

3 个回答

  • 秋子
    秋子
    03-18

    试试在 wx.getLocation 的 success 回调中调用 map 组件的 moveToLocation 方法,强制地图移动到最新坐标。

    success(res) {
      this.setData({ currlat: res.latitude, currlon: res.longitude }, () => {
        const mapCtx = wx.createMapContext('myMap');
        mapCtx.moveToLocation(); // 手动居中视野
      });
    }
    
    03-18
    有用
    回复
  • 徐州卓伙智行软件技术有限公司
    徐州卓伙智行软件技术有限公司
    2024-02-21
    wx.getLocation的isHighAccuracy参数设置为true试下
    
    2024-02-21
    有用
    回复
  • 一笑皆春
    一笑皆春
    2024-02-21

    打印看看第一次赋值了吗

    2024-02-21
    有用
    回复
登录 后发表内容