在 javascript 中无法使用 gps 获取准确位置

Not getting accurate position using gps in javascript

我使用 Ionic 框架和 AngularJS

开发了一个演示应用程序

我遇到了位置问题,我没有得到准确的结果。 位置已更改。例如,我在路上行走,它显示我在路外的位置。

我在同一个 device/phone 上使用 Google 地图应用程序获得准确的位置结果,但使用此代码无法获得准确的结果。相差约100m

这是我的代码..

navigator.geolocation.getCurrentPosition
(
    GetCurrentLocation, 
    geo_error, geo_options, 
    {desiredAccuracy:1, maxWait:function geo_error() {
        alert("Sorry, no position available.");
    }

    var geo_options = 
    {
       enableHighAccuracy: true, 
       maximumAge        : 1000, 
       timeout           : 27000
     };

function GetCurrentLocation(post){
    console.log(pos);
}

我在 stack-overflow 和 google 上找到了很多解决方案,但问题并没有解决。

API 是如何工作的?

根据您使用的浏览器,HTML5 地理位置 API 会根据多种因素(包括您的 public IP 地址、基站 ID、GPS 信息、 Wifi 接入点列表、信号强度和 MAC ID(Wifi and/or 蓝牙)。然后,它通常通过 HTTPS 请求将该信息传递给位置服务,该请求会尝试将您的位置与各种数据库相关联,这些数据库包括 public 和私人 Wifi 接入点位置,以及手机信号塔和 IP 地址位置。然后通过 JavaScript 回调将大概位置返回给您的代码。

您无法通过调整配置来解决此问题。真的取决于你的实际位置。 Google 大多给出更准确的值,因为一般来说,他们只是知道更多 :)