iPhone: mapView.showUserLocation. VS locationUpdate функция

Я занимаюсь разработкой приложения на основе определения местоположения, у меня есть mapView, настроенный для отображения местоположения пользователя (mapView.showUserLocation); У меня также есть функция locationUpdate для получения широты / долготы текущей позиции:

(void)locationUpdate:(CLLocation *)location{} 

После того, как я вызываю функцию stopUpdatingLocation, чтобы остановить обновление местоположения, представление карты (синий шар) продолжает обновлять мое местоположение...

Другими словами: есть ли другая функция locationUpdate, вызываемая автоматически из вида карты?

2 ответа

Решение

Я думаю, что вы можете использовать как MKMapView, так и CLLocationManager. (void)locationUpdate выполняется, когда есть позиция, полученная с помощью CLLocationManager. MKMapView использует устройство GPS независимо и обновляет себя.

Вам следует прекратить использовать showUserLocation и использовать CLLocationManager для получения местоположения, а затем MKMapView для его представления.

У тебя есть showsUserLocation свойство вашего набора MKMapView (это свойство редактируется в Интерфейсном Разработчике).

Из его документации:

Если для этого свойства задано значение YES, в представлении карты используется базовая структура местоположения для поиска текущего местоположения. Пока это свойство имеет значение YES, представление карты продолжает отслеживать местоположение пользователя и периодически обновлять его.

Другие вопросы по тегам