【发布时间】:2012-11-13 13:07:34
【问题描述】:
在 Xcode 4.5 苹果引入了苹果新的地图。我的应用程序需要地图服务。而且我注意到在我的应用程序中它会显示错误的当前位置,直到您删除应用程序并重新打开它才会显示正确的当前位置(有时不会)。顺便提一下,当它显示错误的当前位置时,我已连接到 4G。有没有办法修复这个错误,因为我的应用程序非常需要正确的位置。提前致谢。如果您可以提供代码,那将有很大帮助...编辑: Apple Map App 中的相同问题
我的代码:
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation {
{
}
if (!oldLocation)
totalDistance = 0.0;
else
totalDistance += [newLocation distanceFromLocation:oldLocation];
}
【问题讨论】:
-
我在我正在开发的一个需要地理围栏的应用程序上注意到了这个问题。它显示了它之前锁定的位置,即使我已经移动了超过几英里(当应用程序在后台时)。
-
您是如何获得位置的? CoreLocation 实际上缓存了最后一个已知位置,并在您再次启动应用程序时将缓存的位置提供给您。如果您使用的是委托方法,那么您应该检查时间戳,如果它太旧则将其丢弃。
-
我正在使用corelocation,我们如何删除缓存的位置:)
-
我想提一下,如果应用程序在后台,然后打开它会显示一些我们没有去的疯狂位置,然后在 5 秒后它显示正确的位置,我们如何解决这个问题。 ..
-
你不会删除缓存的位置,你只是忽略它,直到出现一个有效的位置。你就像我说的那样做 - 检查时间戳。如果它是旧时间戳,则忽略它,直到出现最近的时间戳。