在地图上设置用户位置时的GPS或三角测量?

时间:2009-08-25 12:14:25

标签: iphone mapkit

我一直在使用mapkit和SDK 3.0编写应用程序。除了一个细节,一切都很好。我注意到,在显示用户位置时,我在地图上获得了与当前网络相关的不同用户位置。我已经阅读过这个问题并了解它很常见吗?在我的WLAN中,用户位置正确显示。使用3G网(T-mobile)时,位置距离我的实际位置约100米。据我所知,这与使用三角测量的celluar手机网有关,在WLAN中使用的是GPS或WiFi热点。所以,对我的问题。有办法解决这个问题吗?我的应用程序显示了城镇中的位置以及与这些位置的距离。如果由于距离短而位置错误,这是非常明显的并且也会产生误导。有没有办法(在代码中)设置用于获取用户位置的方法?我已经使用地图测试了我iPhone上的所有其他应用程序,所有这些问题看起来都是一样的。 (如果有人想测试我的应用程序,它在app2商店免费下载car2go,其他评论当然也很有趣) 提前致谢! -loop-

3 个答案:

答案 0 :(得分:1)

核心位置提供有关其报告的位置的垂直和水平精度的信息。如果位置可疑,应该使用该准确性向用户报告。 Google地图通过增加位置标记周围的蓝色圆圈的大小来实现此目的。还有其他方法可以向用户表明该位置是可疑的,警告框,如果超出某个预定的准确度,则不显示该位置等。

请参阅:http://developer.apple.com/iphone/library/documentation/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html#//apple_ref/occ/instp/CLLocation/horizontalAccuracy

答案 1 :(得分:0)

为您的位置使用备用来源?便携式GPS装置可以解决问题。

真正的问题是如何纠正3G三角测量指定的数据。我想知道你是否可以做差分来纠正3G的位置错误。

1)在给定城市中,通过绘制城市来校准3G位置错误。这可以在任何时候由3G网络纠正,因此您必须有办法验证和重新校准。

2)使用已知位置校准3G网络的位置 - 3G位置以及GPS位置。将其作为可应用于其他3G位置的差分。这假定三角测量计算中的一致偏移可能不是现实。

3)等待3G网络修复它并在此期间不做任何事情。

4)在三角测量中向3G网络提供商提供错误信息,看看它们是否优先考虑。

我想不出任何其他可行的选择......

答案 2 :(得分:0)

也许您可以直接使用CoreLocation。 CLLocationManager为您提供CLLocation个对象,而不是包含其准确性。如果你的精确度低于50米,它的位置可能来自GPS。