У меня есть MKMapView
с зарегистрированным делегатом, поэтому я могу прослушивать события изменения области (в частности, regionDidChangeAnimated). Я ищу надежный способ сказать, было ли событие изменения области результатом того, что пользователь перетаскивает карту или из запрограммированного setRegion:
запроса.
Моя цель - иметь приложение, которое автоматически центрирует карту на основе трассировки местоположения, если только пользователь не запустил карту вручную, после чего автоматически центрируется. Таким образом, я вызываю setRegion: для того, чтобы соответствующим образом отображать представление карты, но мне сложно сказать, является ли результирующий вызов regionDidChangeAnimated:
делегатом программным или пользовательским. Я пытался взломать что-то вместе, но я постоянно сталкиваюсь с условиями гонки, когда пользователь начинает панорамирование, когда происходит обновление местоположения.