关于wx.getLocation在电脑上定位不准的问题

重点在于,要用真机调试

本人位于北京三环内某位置,在电脑上调试微信小程序时,所调用的wx.getLocation定位一直显示北京市政府。

一开始以为是type的问题

wx.getLocation({
    type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
    success: function (res) {
        var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
        var longitude = res.longitude ; // 经度,浮点数,范围为180 ~ -180。
        var speed = res.speed; // 速度,以米/每秒计
        var accuracy = res.accuracy; // 位置精度
    }
});

将type中的“wgs84”改成了火星坐标“gcj02”,结果返回的数据一模一样,还是北京市政府的位置。

后来在微信公众平台的微信开放社区找到了答案:
https://developers.weixin.qq.com/community/develop/doc/00020ec2dfc6b067eb3787c4456c00

在政府办公大院内部的话无论如何获取都获取不到精准的位置(位置都是政府大院附近)
在部队内部的话坐标会漂移(和政府办公大院差不多,最大差别是地图组件显示出来的是无名路之类的)
在除了上述之外的地方坐标获取都是10~100米左右误差。
另外wx.getLocation有两种坐标类型的,你要根据最终的地图组件进行坐标转换

不要在连wifi的时候测试,包括有线网,不然都是政府的位置的。
用真机有线连接测试,你可以尝试下。

然后用真机调试实验了一下,定位准确了,问题解决完毕。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 先引入JS 文件 this.wxShare() 在created里调用 首先登陆微信公众号 JSSDK使用步骤 步...
    寄鱼予海与你阅读 6,764评论 1 3
  • 前言 作为一只小菜鸟,在阅读到Android MediaPlayer相关的Nuplayer代码的时候,发现函数的调...
    TankWitch阅读 4,557评论 0 11
  • 仰望天空 我却看不到星星的模样 是否只是云遮住了他的光 仰望星空 我却看不到你的模样 又会是谁勾起你的忧伤 满街的...
    蓝色汪星人阅读 151评论 2 4
  • 我想请问一下各位,你们觉得人类会拥有永恒的美丽吗?永恒的美丽,即是无论90岁还是100岁,魅力都依然不减,依旧美丽...
    蒲公英LiLychen阅读 172评论 0 0