Необходимые шаги, чтобы показать местоположение пользователя в MapKit

У меня есть mapView, встроенный в View Controller, который я хотел бы показать местоположение пользователя. Хотя следующие компиляции, карта после загрузки ничего не делает и не показывает местоположение пользователя. Я попробовал код сначала в viewDidLoad, а затем в viewDidFishingLoadingMap, когда я прочитал, что сначала нужно разрешить загрузку карты, но она по-прежнему ничего не делает.

Есть ли какие-либо дополнительные действия помимо настройки режима отслеживания, чтобы карта находилась в центре местоположения пользователя? Я нашел различные подходы в Objective-C, используя mapView.showsUserLocation = YES; или же [self.mapView setCenterCoordinate:userLocation.location.coordinate animated:YES];} но для Swift рекомендуется следующее.

func mapViewDidFinishLoadingMap(_ mapView: MKMapView){
        mapView.setUserTrackingMode(.follow, animated:true)
}

1 ответ

Решение
  • Включить местоположение пользователя с помощью Interface Builder или кода
  • Добавить Privacy - Location Always and When In Use Usage Description (или любой другой режим использования местоположения, который вы предпочитаете) ключ к файлу info.plist
  • Импортировать CoreLocation
  • Проверьте статус авторизации и при необходимости запросите у пользователя доступ к местоположению.

стриж

if CLLocationManager.authorizationStatus() == .notDetermined {
    CLLocationManager().requestWhenInUseAuthorization()
}

Objective-C

[CLLocationManager requestWhenInUseAuthorization];
Другие вопросы по тегам