我正在研究一个使用 MKReverseGeocoder 将经纬度转换为地址的示例。但是当我收到数据并尝试获取结果时,我收到的字符串如下:
NSString *street = [geocoder.addressDictionary objectForKey:@"Street"];
我收到了这样的地址:"Ng\U00f5 381 Nguy\U1ec5n Khang"。
如何将其转换为 unicode 格式的字符串?
提前致谢。
我正在研究一个使用 MKReverseGeocoder 将经纬度转换为地址的示例。但是当我收到数据并尝试获取结果时,我收到的字符串如下:
NSString *street = [geocoder.addressDictionary objectForKey:@"Street"];
我收到了这样的地址:"Ng\U00f5 381 Nguy\U1ec5n Khang"。
如何将其转换为 unicode 格式的字符串?
提前致谢。
如果您从 MKRevereseGeocoder 委托回调中获取 MKPlaceMark 对象,则可以使用以下命令将地标转换为可读地址:
NSLog(@"Address of placemark: %@", ABCreateStringWithAddressDictionary(placemark.addressDictionary, NO));
您需要将 AddressBookUI 框架添加到您的项目中,并且
#import <AddressBookUI/AddressBookUI.h>
也是。
我不确定响应是 unicode,但看起来它在表示地标中的所有数据方面做得很合理。
未经测试,但
NSLog(@"Address of placemark: %@", [CNPostalAddressFormatter stringFromPostalAddress:placeMark.postalAddress style:CNPostalAddressFormatterStyleMailingAddress]);
所需的框架是“联系人”,因此请包含以下内容:
@import Contacts;
应该是iOS11.0+的新做事方式
如果您MKPlaceMark
从MKRevereseGeocoder
委托回调中取回对象,则可以使用以下命令将地标转换为可读地址:
NSLog(@"The geocoder has returned: %@", [placemark addressDictionary]);
//all elements returned
//you can get some object like coutry ,code ;code country ...
NSLog(@"country ::::%@",[placemark country]);
NSLog(@"countrycode ::::%@",[placemark countryCode]);
NSLog(@"postalcode ::::%@",[placemark postalcode]);
NSLog(@"street::::%@",[placemark thoroughfare]);
NSLog(@"streetinfo::::%@",[placemark administrativeArea]);
NSLog(@"streeteersub ::::%@",[placemark subAdministrativeArea]);