收藏
回答

wx.onLocationChange接口返回的位置坐标类型是gcj02还是wgs84?

wx.getLocation接口可以指明要获取的位置坐标的类型,但是接口耗时比较久

// getLocation 接口获取位置新的时间比较长
wx.getLocation({
  type: 'gcj02',
  isHighAccuracy: true,
  highAccuracyExpireTime: 10 * 1000,
  success (res) {
    console.log('getLocation', res)
    const { latitude, longitude } = res || {}
    wx.setStorageSync(USER_LOCATION_INFO, { latitude, longitude })
  },
  fail (err) {
    console.log('getLocation-err', err)
  }
})


通过wx.onLocationChage接口能够比较快速的获取位置坐标,经过测试数据得到的数据是500ms以内就能获取位置信息!

let startTime = 0
export function onUserLocationChange() {
  wx.startLocationUpdate({
    success(res) {
      console.log('startLocationUpdate-开始接收位置更新', res);
      startTime = + new Date()
    },
    fail(err) {
      console.error('startLocationUpdate-位置更新失败', err);
    }
  });
  wx.onLocationChange(linstenLocationChangeFn)
}

export function linstenLocationChangeFn(res: any) {
  console.log( 111111111111111, 'onLocationChange', + new Date() - startTime, res)
  const { latitude, longitude } = res || {}
  wx.setStorageSync(USER_LOCATION_INFO, { latitude, longitude })
  removeLinstenLocationChange()
}

// 位置变化监听 - 移除
export function removeLinstenLocationChange() {
  wx.offLocationChange(linstenLocationChangeFn)
  wx.stopLocationUpdate()
}


但是从打印的位置信息的结果上来看,不确定返回的坐标类型。有没有大佬知道坐标的类型是什么?通过这个方案快速获取位置信息有没有什么缺陷?

回答关注问题邀请回答
收藏
登录 后发表内容