【发布时间】:2019-05-04 17:54:26
【问题描述】:
所有与此类似的堆栈溢出问题似乎都是针对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)
}
这会产生相同的结果。
【问题讨论】:
标签: ios swift mapkit mkmapview currentlocation