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