在javascript

时间:2015-11-17 12:49:00

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

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

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

我在同一设备/手机上使用Google Maps App获得准确的排名结果,但使用此代码无法获得准确的结果。它大约100米

这是我的代码..

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);
}

我在堆栈溢出和谷歌上找到了很多解决方案,但问题没有解决。

1 个答案:

答案 0 :(得分:1)

API如何运作?

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

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