Метод делегата didUpdateToLocation
можно вызывать несколько раз, если получено более точное или недавнее местоположение или, очевидно, если устройство перемещается.
Поскольку вы устанавливаете регион карты в этом методе делегата безоговорочно,карта всегда будет перемещаться назад к местоположению пользователя, когда она получает обновление, даже после того, как пользователь или приложение панорамировали или масштабировали карту где-то еще.
В этом методе делегата его можно увеличить до пользователя.местоположение только один раз, добавив bool ivar, чтобы определить, увеличено ли уже.
Другой вариант - проверить различные свойства location
, такие как timestamp
или horizontalAccuracy
, и вернуться только кместоположение пользователя, если эти значения находятся на определенном пороге.