我试图将地址转换为尊重的纬度和经度值,即地理编码。geocodeAddressString不适用于某些地址
从谷歌的定义:
什么是地理编码?
地理编码是将地址(如“1600 Amphitheatre Parkway,Mountain View,CA”)转换为地理坐标(如纬度37.423021和经度-122.083739)的过程,您可以使用它来放置标记或放置地图。
我想在iOS中使用Swift一样。
我的代码工作正常。但有些地址不会转换成经纬度值。我确定我正在搜索的地址是100%有效的。
这里是我的代码
override func viewDidLoad() {
super.viewDidLoad()
var address = "Kloten Airport, Switzerland" // This Address not working
var geocoder = CLGeocoder()
geocoder.geocodeAddressString(address, {(placemarks: [AnyObject]!, error: NSError!) -> Void in
if let placemark = placemarks?[0] as? CLPlacemark {
let title = ABCreateStringWithAddressDictionary(placemark.addressDictionary, false)
println(title);
let location = CLLocationCoordinate2D(
latitude: placemark.location.coordinate.latitude,
longitude: placemark.location.coordinate.longitude
)
}
})
}
我尝试了不同的地址进行地理编码像Houston USA
(它运行良好),“Rautistrasse 12”(这也运作良好),但是当我搜索地址Kloten Airport, Switzerland
这没有奏效为了我。
有没有错误,在iOS geocodeAddressString
,或者我做错了什么?