Есть ли событие аннотации Mapkit после завершения анимации булавки?

У меня возникли проблемы с событиями Mapkit и userlocation. Мне нужно вызвать метод при обнаружении местоположения пользователя, однако использование [locationManager startUpdatingLocation]; приводит к тому, что метод вызывается слишком рано для того, что я пытаюсь сделать.

В идеале я хотел бы позвонить после завершения анимации булавки местоположения пользователя. Есть ли способ наблюдать за этим?


person rson    schedule 30.11.2009    source источник


Ответы (1)


В делегате вашего locationManager (который соответствует протоколу CLLocationManagerDelegate) реализуйте вызов вашего метода внутри:

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

Это будет вызываться после определения местоположения. Вы можете убедиться, что она находится в пределах желаемых допусков точности, прежде чем предпринимать какие-либо действия:

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

Возможно, вы захотите выполнить свое действие после задержки, чтобы анимация для текущего местоположения завершилась. Apple, кажется, обычно использует от 0,5 до 0,25 для продолжительности анимации.

person Chip Coons    schedule 26.02.2010