Маркер местоположения не отображает Swift 4 - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь отобразить текущее местоположение пользователя и установить регион в текущее местоположение.

Вот мой код.

    @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 Ответ

0 голосов
/ 29 сентября 2018

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

mapView.showsUserLocation = true

In viewDidLoad

...