【问题标题】:cordova geolocation not accurate科尔多瓦地理定位不准确
【发布时间】:2019-10-31 07:19:36
【问题描述】:

我有一个使用 cordova 和 google maps api 的 ionic 4 应用程序。我正在使用 HTML5 geoloction 插件,它会在用户移动时观察设备的位置,然后生成一个新的 googleMaps 标记并将其显示在地图上。

this.watchLocation = await this.geolocation
  .watchPosition()
  .subscribe(location => { 
    this.map.animateCamera({
      target: {
        lat: location.coords.latitude,
        lng: location.coords.longitude
      },
      zoom: 16,
      duration: 1000
    });
this.marker.setPosition({
              lat: location.coords.latitude,
              lng: location.coords.longitude
            });

使用上面的代码,我已经在三星 note 9 上测试了该应用程序,结果是 100% 准确的。我还在其他安卓设备(Galaxy A20 和华为 Y5)上测试了相同的应用程序,结果并不准确,而是标记从我的位置跳出大约 50 到 200 米。

Galaxy Note 9 结果:

【问题讨论】:

标签: javascript google-maps cordova geolocation ionic4


【解决方案1】:

尝试将enableHighAccuracy 选项设置为truedocs 描述如下:

PositionOptions.enableHighAccuracy 属性是一个布尔值 表示应用程序希望收到最好的 结果。如果为真并且设备是否能够提供更准确的 位置,它会这样做。请注意,这可能会导致响应速度变慢 次或增加的功耗(在移动设备上使用 GPS 芯片) 设备为例)。另一方面,如果为 false(默认值), 设备可以通过响应更多来随意节省资源 快速和/或使用更少的电力。

另请参阅相关线程Very High Accuracy in Html5 Geolocation

【讨论】:

    猜你喜欢
    • 2018-07-20
    • 1970-01-01
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多