是否有將經度/緯度位置(由核心位置返回)轉換爲地址(街道和城市)的方法?如何從核心位置返回的位置檢索地址
-1
A
回答
7
最好的方法是使用反向地理編碼,它在CLGeocoder
類中可用。爲了從地理位置獲得人類可讀的地址,您必須使用reverseGeocodeLocation
方法。
這裏是小樣本:
-(NSString *)getAddressFromLocation:(CLLocation *)location {
NSString *address;
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error)
{
if(placemarks && placemarks.count > 0)
{
CLPlacemark *placemark= [placemarks objectAtIndex:0];
address = [NSString stringWithFormat:@"%@ %@,%@ %@", [placemark subThoroughfare],[placemark thoroughfare],[placemark locality], [placemark administrativeArea]];
NSLog(@"%@",address);
}
}];
[geocoder release];
return address;
}
1
粗糙的斯威夫特3實現使用閉包:
import CoreLocation
func getAddressFrom(location: CLLocation, completion:@escaping ((String?) -> Void)) {
let geocoder = CLGeocoder()
geocoder.reverseGeocodeLocation(location) { (placemarks, error) in
if let placemark = placemarks?.first,
let subThoroughfare = placemark.subThoroughfare,
let thoroughfare = placemark.thoroughfare,
let locality = placemark.locality,
let administrativeArea = placemark.administrativeArea {
let address = subThoroughfare + " " + thoroughfare + ", " + locality + " " + administrativeArea
placemark.addressDictionary
return completion(address)
}
completion(nil)
}
}
用法:
getAddressFrom(location: location) { (address) in
print(address)
}
你也可以看看placemark.addressDictionary
,這是一個包含字典地址簿鍵和地標的值。這些密鑰在地址簿框架中定義。
相關問題
- 1. 核心位置返回00
- 2. 使用核心位置檢索用戶地址
- 3. 核心位置返回0海拔
- 4. 如何從Grails中的IP地址檢索地理位置?
- 5. 如何從核心位置獲取舊位置
- 6. Iphone核心位置
- 7. 核心位置 - 放大當前位置
- 8. 檢測核心圖圖的位置
- 9. 地址位置
- 10. 核心位置的警報
- 11. 核心位置 - 回退,位置緩存和替代方案
- 12. iPhone核心位置,地圖導航
- 13. 核心數據和核心位置
- 14. 核心位置,讓原來的位置,每當從背景
- 15. 返回索引位置
- 16. 如何從IP地址找到位置?
- 17. 如何使用核心位置
- 18. iPhone核心位置startMonitoringSignificantLocationChanges
- 19. PHP核心文件位置
- 20. 使用核心位置
- 21. 核心位置問題
- 22. 核心位置幫助!
- 23. 使用位置從W3C地理返回
- 24. MapKit從核心數據加載位置
- 25. 如何返回createdatroute位置?
- 26. IP地址位置
- 27. 如何從ListView中檢索_id位置
- 28. 從HashMap中檢索位置
- 29. IP地址的位置檢測技術
- 30. 核心情節設置x軸位置
可能的重複[如何反向地理編碼?](http://stackoverflow.com/questions/4701113/how-to-reverse-geocode) – progrmr 2012-02-17 15:05:40