2009-11-30 61 views
0

我在使用Mapkit和userlocation事件时遇到了一些问题。我需要在找到用户的位置时调用一个方法,但是,使用[locationManager startUpdatingLocation];会导致该方法为我尝试执行的操作调用得太早。当引脚完成动画时,是否有Mapkit Annotation事件?

理想情况下,我想在用户位置的引脚动画完成后拨打电话。有什么方法可以观察吗?

回答

1

在你的LocationManager(这符合CLLocationManagerDelegate协议)的委托,里面实现你的方法调用:一旦位置得到解决

- (void)locationManager:(CLLocationManager *)manager 
    didUpdateToLocation:(CLLocation *)newLocation 
      fromLocation:(CLLocation *)oldLocation; 

这将被调用。您可能需要采取行动之前,以确保它是您想要的精度公差范围内:

if (newLocation.accuracy <= locationManager.desiredAccuracy){ 

您可能要延迟一段时间后执行你的行动,允许当前位置来完成动画。 Apple似乎通常使用0.5到0.25之间的动画持续时间。

相关问题