收藏
回答

页面 onLoad 后调用 wx.getLocation 返回的坐标系不正确

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.getLocation 微信iOS客户端 7.0.12 2.11.0

页面 onLoad 之后调用一次 wx.getLocation({ type: "gcj02" }),然后2s后再次调用 wx.getLocation({ type: "gcj02" })。

第一次返回的坐标系是wsg84的坐标系(图1),第二次返回的才是gcj02坐标系的(图2)。

(图1)

(图3)

之所以会认为第一次返回的是wsg84坐标系的,是我将得到的坐标当成wsg84转换成gcj02坐标,发现转换后的和第二次获取的几乎没差别(图3)。

(图3,将第一次得到的坐标当成wsg84转换所得)

更详细的可以参考我前天写的问题:https://developers.weixin.qq.com/community/develop/doc/000ea052dc0ad047484afcc5e5bc00

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

4 个回答

  • 灵芝
    灵芝
    2020-04-30

    你好,这边测试是一样的,是什么机型出现的,怎么操作可以复现?

    2020-04-30
    有用 1
    回复 1
    • w_西辰
      w_西辰
      2020-04-30
      不好意思是我弄错了,应该是没问题的。
      昨天我是在真实小程序里测试的,那个小程序启动时会调用wx.getLocation({type:'wgs84'}),实验的第一次应该是启动时调用结果的缓存,应该是符合预期。
      2020-04-30
      回复
  • 老张
    老张
    2020-04-29

    两次都是gcj02,只是第二次是当前真正的坐标,第一次是缓存的以前的坐标。

    2020-04-29
    有用 1
    回复 2
    • w_西辰
      w_西辰
      2020-04-29
      如果是缓存的话,我同样代码运行第二次应该是gcj02, gcj02,但结果还是wsg84, gcj02这样的
      2020-04-29
      回复
    • w_西辰
      w_西辰
      2020-04-30
      确实是前一次的缓存,我实验里的第一次不是第一次,App启动时候还有一次
      2020-04-30
      回复
  • 睡前原谅一切
    睡前原谅一切
    2020-04-29

    同。使用gcj02拿到的地理位置 再使用腾讯的逆地址解析 出来的地址跟当前地址相差几百米到1公里。使用高德的完全正常。我也搞了个代码片段。

    https://developers.weixin.qq.com/s/fXsMBYmP7qgg

    2020-04-29
    有用
    回复
  • 朱亚宁
    朱亚宁
    发表于移动端
    2020-04-29
    ?小一定一
    2020-04-29
    有用
    回复
登录 后发表内容
问题标签