如何让 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 : navigator.geolocation.watchPosition 连续回调