Cordova 和地理定位

Cordova and Geolocation Geolocation

我有一个 Cordova 应用程序可以在 Indexeddb 中保存用户的当前位置,以便在离线环境中工作。 我正在使用以下代码获取当前位置。

var posOptions = {timeout: 10000, enableHighAccuracy: true};
  $cordovaGeolocation
    .getCurrentPosition(posOptions)
    .then(function (position) {
      var lat  = position.coords.latitude
      var long = position.coords.longitude
      //Save data to indexeddb
    }, function(err) {
      // error
    });

代码运行良好。我能够获得用户的当前位置。 在没有互联网连接的街道上做一些测试,我注意到该应用程序多次保存有关巴西某个地方的信息(我在澳大利亚)。当我关闭 wifi 时,我能够获得相同的位置。

为什么会这样?以及在应用程序中实现此行为的最佳方式是什么?

感谢大家

GPS is unreliable.

我每天都会回答这个问题或非常相似的问题。这是昨天的一张。

关于 GPS 和地理定位存在很多误解。 Garmin 和 Google 都假装没事,这对开发世界造成了极大的伤害。阅读第一个 link,您会看到 Garmin 提供的答案。但是如果你阅读了 Garmin 原始文档,而不是我解除的部分,你就会看到问题。

(2015 年 10 月 13 日添加) 对于将来可能阅读本文的其他人,我从 the original Garmin document 添加了这一点。这是一个彻头彻尾的谎言,但它被当作事实出售。进一步阅读 Garmin 文档,您将了解他们是如何遮住屁股的(屁股)。

How accurate is GPS?

Today's GPS receivers are extremely accurate, thanks to their parallel multi-channel design. Our 12 parallel channel receivers are quick to lock onto satellites when first turned on, and they maintain strong locks, even in dense foliage or urban settings with tall buildings. (...)

FWIW:如果您需要更多答案,Google Group 上有更多 GPS 专业人士。