我认为使用谷歌地图显示用户当前位置并路由到他的扩张。
问题:用户位置大部分时间都不在路上,我不能把这样的应用程序放在Appstore中,它会得到不好的评论。
我检查了谷歌sdk的IOS,是否有任何属性的准确性!?
喜欢:self.googleMap.accuracy = bestForNavigation
是否有任何调整或属性可以提高用户位置的准确性?
Appstore上的地图应用程序如何以谷歌应用程序的精确度显示用户位置?
答案 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米可能是一个安全的假设。