使用 iOS 解析 MKMapItem

Posted

技术标签:

【中文标题】使用 iOS 解析 MKMapItem【英文标题】:Parsing an MKMapItem with iOS 【发布时间】:2013-10-24 01:02:57 【问题描述】:

我想访问 MKMapItem 对象中的数据。搜索信息后,我正在向社区询问。根据 Apple 类参考,有以下属性:

地标 是当前位置 姓名 电话号码 网址

如果我记录 MKMapItem,我会得到一个 JSON 字典字典,例如:

地址 结构化地址 居中 地区 等等……

许多项目包含我想要的信息,它们不是MKMapItem 的默认属性。有没有办法解析和建模这些项目?我试过了

 NSDictionary *mapItemDictionary = (NSDictionary *)mapItem;

[mapItemDictionary valueForKey:@"key"];

,导致崩溃:

[<MKMapItem 0xb02d830> valueForUndefinedKey:]:这个类不符合键地址的键值编码。

【问题讨论】:

如果mapItem 是一个MKMapItem,你不能把它转换成一个NSDictionary。您可能在日志中看到的是 MKMapItem 内的地标,它本身包含一个 addressDictionary 属性。 【参考方案1】:

安娜卡列尼娜是正确的......

MKmapItem *mapItem = mapItemResponseFromLocalSearch;

NSDictionary *itemAddressDictionary = mapItem.placemark.addressDictionary;

CLLocation *location = mapItem.placemark.location

NSString *name = mapItem.name

【讨论】:

以上是关于使用 iOS 解析 MKMapItem的主要内容,如果未能解决你的问题,请参考以下文章

iOS9.3中如何从MKLocalSearchCompletion对象中识别MKMapItem?

iOS [Swift]:解析 Facebook 登录“使用未解析的标识符‘权限’”

iOS使用TFHpple解析html

iOS开发之网络数据解析--GDataXML解析框架的使用

从 MKPlacemark 创建 MKMapItem 时,MKMapitem 的 Placemark.name 为 nil

如何从 MKMapItem 中提取纬度/经度坐标