Маркер местоположения не отображает 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. Загрузка карт
  2. Регион карты имеет текущее местоположение
  3. Карта региона будет обновляться до текущего местоположения
  4. Текущее местоположение выводится на консоль

Что не работает:

  1. "Синий" индикатор текущего местоположения не отображается.

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

1 ответ

Решение

Вам нужно установить

mapView.showsUserLocation = true

В viewDidLoad

Другие вопросы по тегам