2014-02-10 3 views
1

Я хочу обрабатывать 2 отдельных события: 1. Пользователь перетаскивает карту. 2. Место карты изменено (из-за изменения местоположения).Как отличить карту перетаскивания пользователя от изменения местоположения в MKMapView?

Пока что region[Did/Will]ChangeAnimated призван на эти 2 события. Как я могу различать эти события?

+0

Я видел это, это не означает, что карта перетаскивалась или менялась из-за изменения местоположения. –

+0

«Изменение местоположения карты из-за изменения местоположения» - вы имеете в виду, когда вид карты автоматически изменил свою видимую область в ответ на отслеживание текущего местоположения пользователя? –

+0

@ ИданМоше, если вы посмотрите на ответ ниже принятого, вы увидите, что они используют распознаватели жестов, чтобы делать именно то, что вы пытаетесь сделать. – Gad

ответ

2

Есть два различных методов, которые можно реализовать в вашем map view delegate, чтобы ответить на эти два события:

Когда пользователь перетаскивает карту вокруг (или поворачивает его, или щепотки/краны для увеличения, и т.д.): mapView:regionDidChangeAnimated:

Когда вид карты отслеживания местоположения пользователя и обновляет вид, как изменения местоположения пользователя: mapView:didUpdateUserLocation:

Try реализации обоих этих методов с некоторыми заявлениями NSLog и возиться с видом карты, чтобы получить представление о том когда и как часто эти методы называется.

+0

Так просто, что я об этом не думал. –

Смежные вопросы