Все вопросы о переполнении стека, похожие на эти, относятся к Java и Android.
У меня есть следующий код с использованием элемента управления MKMapView.
override func viewDidLoad() {
super.viewDidLoad()
mapView.showsUserLocation = true
mapView.setUserTrackingMode(.followWithHeading, animated: true)
let locationCoordinate = CLLocationCoordinate2D(latitude: mapView.userLocation.coordinate.latitude, longitude: mapView.userLocation.coordinate.longitude)
currentLocationCoordinateRegion = MKCoordinateRegion(center: locationCoordinate, latitudinalMeters: 200, longitudinalMeters: 200)
mapView.setRegion(currentLocationCoordinateRegion, animated: true)
print("latitude:", mapView.userLocation.coordinate.latitude, "longitude:", mapView.userLocation.coordinate.longitude)
}
Я используюфактическое устройство, поэтому в представлении карты должно отображаться мое текущее местоположение, а в операторе печати должно быть напечатано мое текущее местоположение, но вместо этого я вижу синий цвет в представлении карты, а результаты печати показывают широту 0,0 и долготу 0,0 в отладкеокно:
широта: 0.0 долгота: 0.0
Почему это происходит, и что я должен сделать, чтобы это исправить?
У меня также естьэлемент кнопки панели инструментов на панели инструментов со следующим кодом:
@IBAction func actionShow(_ sender: UIBarButtonItem) {
print("latitude:", mapView.userLocation.coordinate.latitude, "longitude:", mapView.userLocation.coordinate.longitude)
let locationCoordinate = CLLocationCoordinate2D(latitude: mapView.userLocation.coordinate.latitude, longitude: mapView.userLocation.coordinate.longitude)
currentLocationCoordinateRegion = MKCoordinateRegion(center: locationCoordinate, latitudinalMeters: 200, longitudinalMeters: 200)
mapView.setRegion(currentLocationCoordinateRegion, animated: true)
}
, который дает те же результаты.