如何让 HTML5 Geolocation 更准确?

Posted

技术标签:

【中文标题】如何让 HTML5 Geolocation 更准确?【英文标题】:How to make HTML5 Geolocation more accurate? 【发布时间】:2017-03-27 20:17:30 【问题描述】:

我一直在使用 html5 地理位置选项,发现结果可能有点不稳定,想知道是否有办法让它们更加一致。

我一直在 iphone 5 上进行所有测试,并且仅使用标准 getCurrentPosition 代码以及 enableHighAccuracy: true 和 enableHighAccuracy: false,但有时当我单击代码以获取我在 Google 地图上的位置时,有时会大约 0.25-0.5 英里外 - 但是(这是一个大问题)如果我在手机上打开地图应用程序,它会移动一点然后得到我的位置。

我可以做些什么来获得同样的准确度吗?

说到准确性 - position.coords.accuracy 命令的实际作用或含义是什么?我的地图位置爆炸了我的位置,但它显示了 1200 之类的东西,我让它显示离我的位置大约 400 码的大头针,我得到 165

if (navigator.geolocation) 
navigator.geolocation.getCurrentPosition(showPosition,showError,maximumAge:600000, timeout:5000, enableHighAccuracy: true);
 else 
x.innerHTML = "Geolocation is not supported by this browser.";


function showPosition(position) 

 var x = document.getElementById("demo");

var marker = new google.maps.Marker(position: lat:position.coords.latitude, lng:position.coords.longitude, map: map, title: 'X');

x.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude + "<br>Accuracy: " + position.coords.accuracy;

抱歉,我是这个论坛的新手。

【问题讨论】:

致电谷歌,要求他们更新数据库,以提高准确性。 抱歉,这与 html5 到底有什么关系? @Victor - 据推测,OP 正在使用 HTML Geolocation API 但我通过 GetPosition 调用为 Google 地图提供了纬度和经度值。地图应用程序移动了一下然后找到了我,但我在获取位置调用时单击它有时会给我一个疯狂的结果。 您使用的具体代码是什么? 【参考方案1】:

position.coords.accuracy 是米的度量。如果您要围绕返回的 Lat/Lng 作为其中心和“准确度”作为其半径画一个圆圈,那么 UA 会建议您的“真实”位置在那个圆圈中的某个地方。

enableHighAccuracy = true 可能会从启发式 GPS 计算中删除手机信号塔和 wi-fi 分发点,但我也对映射到谷歌地图的 Chrome GPS 与地图应用程序之间的差异感到失望。如果您走准确路线,室内读数也可能很少。

尝试一些不依赖它的算法,除非准确度 准确度读数)可能会有所帮助。

【讨论】:

以上是关于如何让 HTML5 Geolocation 更准确?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 python 中制作 HTML5 Geolocation 对象?

用HTML5 Geolocation实现一个距离追踪器

HTML5 地理位置不准确

使用 getCurrentPosition 当前位置不准确

HTML5 Geolocation位置信息定位总结

html5-geolocation : navigator.geolocation.watchPosition 连续回调