我可以使用谷歌地图显示用户当前位置以及到达他的路线。
问题:用户位置大多数时候都在路边,我不能把这样的应用程序放在Appstore中,它会得到不好的评论。
我检查了 IOS 的 google sdk,是否有任何准确性的属性!?
喜欢:self.googleMap.accuracy = bestForNavigation
是否有任何调整或属性可以设置来提高用户位置准确性?
how maps apps on the Appstore display user location with so much accuracy like google app?
In the CoreLocationManager
你可以设置desiredAccuracy
to kCLLocationAccuracyBestForNavigation
。然而,GPS 仍然不是完美的,根据信号质量、天空视图(峡谷、城市)等,GPS 的精度可能从 5 到 100m 不等。
另一个需要注意的错误来源是,确保您的 GPS 数据与地图和道路网络数据位于同一数据中(即:WGS-84)。不同的数据可能会增加小(或大)误差。
为了补偿固有的 GPS 和地图误差,大多数路线导航应用程序都使用我们所说的“捕捉道路”。我们计算用户附近的道路,如果 GPS 位置在道路的 30m 范围内(参见注释 1),并且路线(或航向,注释 2)在道路方向的 +/- 25 度范围内,那么我们“捕捉”到马路。这意味着我们更改显示的位置点的位置和方向,以便它显示用户正好在道路上(计算道路上距 GPS 点最近的点)并沿着道路路径行驶(选择该道路方向)最接近)。这需要详细的道路几何数据,包括曲线和一些有趣的计算,但一旦获得它,它的效果就非常好。
如果他们偏离道路较远或与道路方向不对齐,我们就会显示他们的实际 GPS 位置。这非常有效,但它要求您拥有可用的道路网络几何图形(或至少具有到达目的地几何图形的路线),以便您可以进行这些检查。
注1:我们根据报告选择容差horizontalAccuracy
来自CLLocation
we get.
注2:我们将罗盘航向(修正后)和航向(来自 GPS)混合起来来决定用户的实际航向。低于约 8 公里/小时我们主要使用罗盘航向,高于该速度我们主要使用 GPS 航向(它更准确)。我们还通过 GPS 航向来确定指南针误差并进行纠正。这使得我们即使在红灯处或停车场速度非常慢时也能显示准确的航向。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)