0
我在使用Mapkit和userlocation事件时遇到了一些问题。我需要在找到用户的位置时调用一个方法,但是,使用[locationManager startUpdatingLocation];
会导致该方法为我尝试执行的操作调用得太早。当引脚完成动画时,是否有Mapkit Annotation事件?
理想情况下,我想在用户位置的引脚动画完成后拨打电话。有什么方法可以观察吗?
我在使用Mapkit和userlocation事件时遇到了一些问题。我需要在找到用户的位置时调用一个方法,但是,使用[locationManager startUpdatingLocation];
会导致该方法为我尝试执行的操作调用得太早。当引脚完成动画时,是否有Mapkit Annotation事件?
理想情况下,我想在用户位置的引脚动画完成后拨打电话。有什么方法可以观察吗?
在你的LocationManager(这符合CLLocationManagerDelegate协议)的委托,里面实现你的方法调用:一旦位置得到解决
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation;
这将被调用。您可能需要采取行动之前,以确保它是您想要的精度公差范围内:
if (newLocation.accuracy <= locationManager.desiredAccuracy){
您可能要延迟一段时间后执行你的行动,允许当前位置来完成动画。 Apple似乎通常使用0.5到0.25之间的动画持续时间。