我使用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);
}
我在堆栈溢出和谷歌上找到了很多解决方案,但问题没有解决。
答案 0 :(得分:1)
API如何运作?
根据您使用的浏览器,HTML5地理定位API会根据多种因素来近似位置,包括您的公共IP地址,手机信号塔ID,GPS信息,Wifi接入点列表,信号强度和MAC ID(Wifi)和/或蓝牙)。然后,它通常通过HTTPS请求将该信息传递给位置服务,该请求尝试将您的位置与包括公共和私有Wifi接入点位置以及Cell Tower和IP地址位置的各种数据库相关联。然后,通过JavaScript回调将大致位置返回到您的代码。
您无法通过调整配置来解决此问题。真的取决于你的实际位置。谷歌主要提供更准确的价值,因为一般来说,他们只知道更多:)