我試圖將地址轉換爲尊重的緯度和經度值,即地理編碼。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
,或者我做錯了什麼?