【问题标题】:ios google maps accuracyios谷歌地图精度
【发布时间】:2013-11-26 04:09:48
【问题描述】:

我有使用谷歌地图显示用户当前位置和路线的视图。

问题:用户位置大部分时间都不在路边,我不能把这样的应用放到Appstore,它会得到差评。

我检查了 google sdk 的 IOS,是否有任何准确性的属性!? 喜欢:self.googleMap.accuracy = bestForNavigation

是否有任何可以提高用户定位准确性的调整或属性设置?

Appstore 上的地图应用如何像谷歌应用一样准确地显示用户位置?

【问题讨论】:

    标签: ios google-maps geolocation core-location


    【解决方案1】:

    CoreLocationManager 中,您可以将desiredAccuracy 设置为kCLLocationAccuracyBestForNavigation。然而,GPS 仍然不是完美的,根据信号质量、天空视图(峡谷、城市)等,您可能会从 GPS 获得 5 到 100m 的精度。

    另一个需要注意的错误来源,请确保您的 GPS 数据与地图和道路网络数据位于同一基准面(即:WGS-84)。不同的基准可能会增加小(或大)错误。

    为了补偿固有的 GPS 和地图绘制误差,大多数转弯导航应用都使用我们所说的“snap to road”。我们计算用户附近的道路,如果 GPS 位置在道路的 30m(见注 1)范围内,并且路线(或航向,注 2)在道路方向的 +/- 25 度范围内,那么我们“捕捉”到马路。这意味着我们更改显示的位置点的位置和方向,以便它显示用户正好在道路上(计算道路上距离 GPS 点最近的点)并沿着道路路径前进(选择道路方向最接近)。这需要详细的道路几何数据,包括曲线和一些有趣的计算,但一旦获得它就可以很好地工作。

    如果他们远离道路或与道路方向不对齐,那么我们会显示他们的实际 GPS 位置。这非常有效,但它要求您拥有可用的道路网络几何图形(或至少具有通往目的地几何图形的路线),以便您进行这些检查。

    注意1:我们根据得到的CLLocation 报告的horizontalAccuracy 选择容差。

    注意 2:我们将指南针航向(已校正)和航向(来自 GPS)混合来确定用户的实际航向。在大约 8 公里/小时以下我们主要使用指南针航向,在此以上我们主要使用 GPS 航向(它更准确)。我们还通过 GPS 路线确定罗盘误差来纠正它。这使我们能够显示准确的航向,即使在光线较暗或停车场速度非常慢的情况下停止。

    【讨论】:

    • 现在我正在使用适用于 ios 的谷歌地图 SDK .... 使用它的可用 api 我无法实现 snap to road 功能...你有什么建议...我应该使用 openstreetsmap ,苹果地图,mapquset!??我应该从哪里开始
    【解决方案2】:

    GPS 精度存在限制。
    如果应用程序可以访问底层地图数据并且假设该位置应该在道路上,那么它可能会捏造用户的位置。但是,如果我停在路边或没有在车里怎么办。

    来自:gps.gov:太空中的 GPS 信号将提供 7.8 米的“最坏情况”伪距精度,置信度为 95%。

    但接收器可能会做得比这更好,特别是如果它们是静止的。在静止的情况下,位置平均可以提供很大的帮助,但设备必须知道它是静止的事实。接收器也有可能做得更糟。因此,10 到 20 米可能是一个安全的假设。

    【讨论】:

      猜你喜欢
      • 2013-02-23
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      相关资源
      最近更新 更多