MKMapView и CLLocationManager

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

Я знаю, что могу создать свой собственный CLLocationManager. Но это испытывает желание добавлять издержки к моему приложению, и я хотел бы, чтобы карта и мое отслеживание остались в синхронизации.

Я уже исследовал следующие идеи без успеха:

  • Используйте [MKMapView showUserLocation:YES] и включите KVO userLocation поле. Это не работает, и я задаюсь вопросом, ли это то, вследствие того, что userLocation поле только для чтения.
  • Используйте [MKMapView showUserLocation:YES], создайте a MKMapViewDelegate и добавьте отслеживание, когда представление аннотации для пользовательского местоположения будут требовать. Это не работает, потому что представление аннотации, по-видимому, требуют только однажды???
  • Используйте a CLLocationManager и попытайтесь добавить синий контакт вручную. К сожалению, я не нашел синий контакт в доступных типах контактов, таким образом, я пытался создать пользовательскую аннотацию вручную без успеха.

Делает у любого есть любая идея, как я могу достигнуть этого и все еще извлечь выгоду из синего контакта или являюсь моим единственным решением использовать a CLLocationManager и создайте мой собственный контакт?

17
задан Patrice 23 February 2010 в 15:50
поделиться

1 ответ

CLLocationManager использует одни и те же данные во всех своих экземплярах. MKMapView внутренне использует данные CLLocationManager . Тем не менее, решение делать то, что вы хотите, - позволить MKMapView делать свои собственные вещи в отношении showUserLocation: . В то же время создайте экземпляр CLLocationManager и его делегата.

Сообщения делегатов сообщат вам координаты GPS синего булавки MKMapView . Все будет синхронно друг с другом.

18
ответ дан 30 November 2019 в 14:00
поделиться