我有一个带有邮政编码的地址列表,我需要在地图上显示(针点)。
到目前为止,我知道使用坐标来显示核心位置框架的地图上的引脚点。这样做还有其他办法吗?比如从地址获取坐标或使用地址来显示地图上的针脚点?
主要目的是计算位置之间的距离。
请在这里指导我。感谢
答案 0 :(得分:1)
要从地址创建注释,您需要使用CLGeocoder
的方法geocodeAddressString
:
let address = "5th Avenue, New York"
let geocoder = CLGeocoder()
geocoder.geocodeAddressString(address) { (placemarks, error) in
if let placemarks = placemarks {
if placemarks.count != 0 {
let annotation = MKPlacemark(placemark: placemarks.first!)
self.mapView.addAnnotation(annotation)
}
}
}
如果您只想获取该位置的坐标:
...
if placemarks.count != 0 {
let coordinates = placemarks.first!.location
}
...
答案 1 :(得分:0)
这是一个简单的代码片段,展示了如何在地图上显示给定地址数组的引脚。
let geocoder:CLGeocoder = CLGeocoder()
for eachAddress in addressArray {
geocoder.geocodeAddressString(eachAddress) { (placemarks:[CLPlacemark]?, error: NSError?) -> Void in
//Assuming it has the data without any error
let placemark = MKPlacemark(placemark: (placemarks?.first)!)
self.mkMapView.addAnnotation(placemark)
}
}