Html5定位不准确问题

发布时间 2023-05-25 15:37:37作者: porter_代码工作者
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(getPosition,getPositionError, {
            // 指示浏览器获取高精度的位置,默认为false
            enableHighAccuracy: true,
            // 指定获取地理位置的超时时间,默认不限时,单位为毫秒
            timeout: 5000,
            // 最长有效期,在重复获取地理位置时,此参数指定多久再次获取位置。
            maximumAge: 3000
    });
}

  

上面这段代码,在H5相关的定位中,随处可见,这是用手机端或者电脑端自己的GPS定位,但是之前我通过这个测试发现,非常不准确。电脑端直接报错。

  1. 手机端如果是套用百度的那一套API会飘得很厉害,据观察是用的基站定位。
  2. 后来我一想百度这么挫?我就用上面原生的代码来获取,发现常常报错:
    使用Geolocation方法存在错误信息error.POSITION_UNAVAILABLE
    查了很久,电脑端一直就不可以,最后终于知道了,划重点:

现在GPS的服务,最好是https,http基本上越来越不被支持了。chrome甚至直接弹出说只有https才能获取定位。

再次测试,超级准,准到没朋友。误差10米以内。