Необходимые шаги, чтобы показать местоположение пользователя в 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];