ios谷歌地图的准确性

时间:2013-11-13 14:04:14

标签: ios google-maps geolocation core-location

我认为使用谷歌地图显示用户当前位置并路由到他的扩张。

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

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

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

Appstore上的地图应用程序如何以谷歌应用程序的精确度显示用户位置? enter image description here

2 个答案:

答案 0 :(得分:6)

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

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

为了弥补固有的GPS和地图错误,大多数转弯导航应用程序使用我们称之为“对战”的方式。我们计算用户所在的道路,如果GPS位置在道路的30米范围内(参见注释1),并且路线(或航向,注2)在道路方向的+/- 25度范围内,那么我们“捕捉”到马路。这意味着我们更改显示的位置点的位置和方向,以便显示用户正好在道路上(从GPS点计算道路上的最近点)并沿着道路路径前进(选择道路标题,是最接近的)。这需要详细的道路几何数据,包括曲线和一些有趣的计算,但一旦得到它就能很好地工作。

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

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

注意2:我们将罗盘标题(校正)和路线(来自GPS)混合以确定用户的实际航向。低于约8公里/小时,我们主要使用罗盘航向,我们主要使用GPS航线(更准确)。我们还通过GPS课程确定罗盘误差来纠正它。这使我们即使在停车场停车时也可以显示准确的标题。

答案 1 :(得分:1)

GPS准确度有限 如果应用程序可以访问基础地图数据,并且假设该位置应该在道路上,那么它可以捏造用户的位置。但是,如果我停在路边或不在车内,该怎么办。

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

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