
输入
|
119
guard let placemark = placemarks?.last else {
print("No placemarks provided!")
return
}
guard let location = placemark.location else {
print("Placemark has no location data!")
return
}
let latitude = location.coordinate.latitude
let longitude = location.coordinate.longitude
self.latitudeLabel.text = String(format: "Latitude: %.4f", latitude)
self.longitudeLabel.text = String(format: "Longitude: %.4f", longitude)
}
}
讨论
要使用地理编码服务,需要实例化一个
CLGeocoder
对象。一个
CLGeocoder
对象会
与苹果的地理编码服务器进行通信,然后在获得查询结果后调用完成块中的代码。
也就是说,要获得地理编码服务,需要使用到网络。
一旦请求从服务器返回,你将得到一个
CLPlacemark
数组,或者一个
NSError
对象,
后者描述了地理编码服务返回的错误。我们会得到多个