邮编转换为纬度和经度坐标

5

如何将zip文件,或者在我这种情况下是英国的邮政编码转换成经纬度坐标?

我了解到可以使用Google地理编码API进行转换,但是它有很多限制,比如必须在应用中使用Google地图,并且有请求次数的限制。

我还发现了这个,但我不太确定如何实施。


1
这个教程对我很有帮助:http://mhorga.org/2015/08/14/geocoding-in-ios.html - Jorge Barrios
抱歉,我们似乎找不到这个页面的Pixylls。 - luke
实际上它可以工作,末尾的'>'破坏了链接。我会看一下,谢谢。 - luke
2个回答

6
您需要使用GeocodeAddressDictionary,它接受特定地址类型的字典。
在您的情况下,您应该按照以下步骤操作。
    let geocoder = CLGeocoder()
    let dic = [NSTextCheckingZIPKey: yourZipCode]

    geocoder.geocodeAddressDictionary(dic) { (placemark, error) in

        if((error) != nil){
            print(error!)
        }
        if let placemark = placemark?.first {
            let lat = placemark.location!.coordinate.latitude
            let long = placemark.location!.coordinate.longitude                

        }

    }

2

使用这段代码,您可以提供地址来完成操作(因为邮政编码不是具体的坐标,而是地址)。

请记得在类的顶部导入CoreLocation

let address = "1 Infinite Loop, CA, USA"
let geocoder = CLGeocoder()

geocoder.geocodeAddressString(address, completionHandler: {(placemarks, error) -> Void in
    if((error) != nil){
        print("Error", error)
    }
    if let placemark = placemarks?.first {
        let coordinates:CLLocationCoordinate2D = placemark.location!.coordinate
    }
})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接