0

我正在尝试显示用户的当前位置并将区域设置为他们的当前位置。

这是我的代码。

    @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. “蓝色”当前位置指示不出现。

如果您知道我需要做什么才能使“蓝色”当前位置指示器出现,我们将不胜感激。

4

1 回答 1

1

你需要设置

mapView.showsUserLocation = true

viewDidLoad

于 2018-09-29T00:21:43.930 回答