如何从地址(带邮政编码)Swift-IOS获得坐标?

时间:2016-07-20 07:44:15

标签: ios swift mkmapview core-location cllocationmanager

我有一个带有邮政编码的地址列表,我需要在地图上显示(针点)。

到目前为止,我知道使用坐标来显示核心位置框架的地图上的引脚点。这样做还有其他办法吗?比如从地址获取坐标或使用地址来显示地图上的针脚点?

主要目的是计算位置之间的距离。

请在这里指导我。感谢

2 个答案:

答案 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)
    }
}