【问题标题】:How to get geolocation in javascript如何在javascript中获取地理位置
【发布时间】:2015-11-07 10:46:10
【问题描述】:

我正在 phonegap 中构建应用程序。我希望我的应用程序要求打开设备 (IOS/ANDROID/WINDOWS) 的 gps,然后提醒当前的纬度和经度。谁能指导我怎么做。我已经试过了

   function locate(){
    alert("enter");

    var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { timeout: 3000 });
    alert(watchID);
}   
function onSuccess(position) {

    alert(position.coords.latitude); 
                       alert(position.coords.longitude); 

}


function onError(error) {
    alert('code: '    + error.code    + '\n' +
          'message: ' + error.message + '\n');
}

但这会出现在 onError 块中,error.code=3 和 error.message=timeout 和 watchId=4 请帮助..

【问题讨论】:

  • 那我应该用什么?
  • 这取决于您的 GPS 计划。列出的文章指出了 GPS 故障的几个实例。最后一部分(GPS 信号错误的来源)向您展示了技术原因;例如: *信号多路径* - 当 GPS 信号在到达接收器之前被高楼或大岩石表面等物体反射时,就会发生这种情况。这会增加信号的传播时间,从而导致错误。 因此,在这种情况下,很明显,当您靠近高层建筑或大岩石表面时,您应该注意这些东西可能导致错误。避免这些事情或调整

标签: javascript ios cordova


【解决方案1】:

确保您实际上在此处包含地理定位插件:

https://github.com/apache/cordova-plugin-geolocation

还要确保在 deviceready 事件触发后才调用 locate() 函数。

您的超时时间有点低,如果在那个时间内无法获得锁,也可能会导致问题。我会将超时设置为不少于 10 秒(10000)。您可能希望将最大年龄设置为 3000 以获得您想要的效果。大多数人也希望 enableHighAccuracy 设置为 true。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 2021-06-28
    • 2016-03-01
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多