1
由於ABCreateStringWithAddressDictionary在iOS9中已棄用,因此從CLGeocoder獲取地址字符串還有什麼其他選擇?如何在iOS9中從AddressDictionary獲取格式化地址NSString?
由於ABCreateStringWithAddressDictionary在iOS9中已棄用,因此從CLGeocoder獲取地址字符串還有什麼其他選擇?如何在iOS9中從AddressDictionary獲取格式化地址NSString?
這是我的解決方案:
let geocoder = CLGeocoder()
geocoder.reverseGeocodeLocation(location, completionHandler: { (placemarks, error) in
if error != nil {
print("Error: \(error?.localizedDescription)")
}
if let myMarks = placemarks {
if let placemark = myMarks.last {
if let addressLine = (placemark.addressDictionary?["FormattedAddressLines"] as? [String]) {
self.addressLabel.text = addressLine.joined(separator: ", ")
}
}
}
})
厄爾尼諾鍵 「FormattedAddressLines」 這樣的順序返回一個數組:姓名,街道,城市,州,郵編,國家。如果您打印地址線,則會看到如下所示的內容:「Apple Inc.,1 Infinite Loop,Cupertino,CA 95014,United States」。
如果你仍然支持iOS 8或更早版本,使用'ABCreateStringWithAddressDictionary'不會有任何問題。 – rmaddy
另請參閱[此答案](http://stackoverflow.com/a/18176732/1226963)另一種解決方案。 – rmaddy