MKMapViewDelegate уведомляет, когда пользователь перемещает карту

Я использую MKMapView в своем приложении и реализую его делегат. Как и в случае с Google Maps, я хочу знать, когда пользователь переместил карту. Если вы открываете приложение Google Maps и нажимаете значок GPS, для кнопки устанавливается стиль DONE, и карта центрируется на вашем местоположении. Всякий раз, когда вы перемещаете карту, значок автоматически возвращается к ОБЫЧНОМУ стилю.
Как я могу сделать то же самое?

С уважением,
Пол Пилен


person Paul Peelen    schedule 08.02.2011    source источник
comment
Я не уверен, решит ли это вашу проблему. Но попробуйте метод – mapView:regionDidChangeAnimated:.   -  person EmptyStack    schedule 08.02.2011
comment
Это действительно так... Вчера я пробовал, и это не сработало, но теперь это сработало! Спасибо! Опубликуйте это как ответ, и я одобрю его.   -  person Paul Peelen    schedule 08.02.2011
comment
Добро пожаловать .. Я разместил это как ответ.   -  person EmptyStack    schedule 08.02.2011


Ответы (1)


Я не уверен, решит ли это вашу проблему. Но попробуйте переопределить regionDidChangeAnimated: метод MKMapViewDelegate.

Документ говорит< /em>: этот метод вызывается всякий раз, когда изменяется отображаемый в данный момент регион карты. Во время прокрутки этот метод может вызываться много раз, чтобы сообщать об обновлениях позиции на карте. Поэтому ваша реализация этого метода должна быть как можно более легкой, чтобы не влиять на производительность прокрутки.

person EmptyStack    schedule 08.02.2011
comment
Разве это не вызывается, если карта перемещается каким-либо другим способом? Как мы можем определить, было ли оно перемещено именно в результате действия пользователя. Будет ли UIGestureRecognizer. быть подходящим решением? edit нашел это: stackoverflow.com/questions/5005597/ - person Roderic Campbell; 12.05.2011