【问题标题】:Not getting accurate position using gps in javascript在 javascript 中使用 gps 无法获得准确的位置
【发布时间】:2016-02-18 20:23:05
【问题描述】:

我使用 Ionic 框架和 AngularJS 开发了一个演示应用

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

我在同一设备/手机上使用 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 上找到了很多解决方案,但问题没有解决。

【问题讨论】:

    标签: javascript angularjs google-maps-api-3 geolocation google-maps-api-2


    【解决方案1】:

    API 是如何工作的?

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

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

    【讨论】:

    • 我使用 ionic 框架 (Phonegap) 为 android 设备制作演示应用程序。它使用 gps 获取位置.. navigator.geolocation.getCurrentPosition();
    • 看我上面提供的解释。如果您想要高精度,请使用 3rd 方 API,例如地图 API,而不是原生 html 5 API。
    • 是的,我在我的代码中只使用了 google api。 navigator.geolocation.getCurrentPosition();这个功能,我正在使用acc。到谷歌 api。但我没有得到准确的 lat lng,如谷歌地图应用程序所示。距离约100m
    • 再来看看我给你的解释。
    • :-) 是的,谷歌知道更多......但我还没有得到我的解决方案......没有得到准确的纬度。 :-(
    猜你喜欢
    • 2016-07-14
    • 2013-01-16
    • 2013-09-06
    • 2013-06-24
    • 1970-01-01
    • 2021-06-10
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多