0

我的 Mapkit 和用户位置事件有一些问题。当找到用户的位置时,我需要调用一个方法,但是,[locationManager startUpdatingLocation];对于我正在尝试做的事情,使用会导致该方法调用得太早。

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

4

1 回答 1

1

在 locationManager 的委托(符合 CLLocationManagerDelegate 协议)中,在内部实现您的方法调用:

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

一旦位置被解析,这将被调用。在采取行动之前,您可能需要确保它在您想要的精度公差范围内:

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

您可能希望在延迟后执行您的操作,以允许当前位置的动画完成。Apple 似乎通常使用 0.5 到 0.25 之间的动画持续时间。

于 2010-02-26T05:05:57.293 回答