Маркер местоположения не отображает Swift 4
Я пытаюсь отобразить текущее местоположение пользователя и установить регион в текущее местоположение.
Вот мой код
@IBOutlet weak var mapView: MKMapView!
var locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
self.locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationManager.startUpdatingLocation()
}
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let locValue:CLLocationCoordinate2D = manager.location!.coordinate
print("locations = \(locValue.latitude) \(locValue.longitude)")
let userLocation = locations.last
let viewRegion = MKCoordinateRegionMakeWithDistance((userLocation?.coordinate)!, 600, 600)
self.mapView.setRegion(viewRegion, animated: true)
}
Что просходит:
- Загрузка карт
- Регион карты имеет текущее местоположение
- Карта региона будет обновляться до текущего местоположения
- Текущее местоположение выводится на консоль
Что не работает:
- "Синий" индикатор текущего местоположения не отображается.
Если вы знаете, что мне нужно сделать, чтобы появился синий индикатор текущего местоположения, это будет очень цениться.
1 ответ
Решение
Вам нужно установить
mapView.showsUserLocation = true
В viewDidLoad