使用iOS解析MKMapItem

5
我希望能够访问 MKMapItem 对象中的数据。在搜索信息后,我向社区提问。根据苹果类参考文档,有以下属性:
  • placemark - 地标
  • isCurrentLocation - 是否为当前位置
  • name - 名称
  • phone number - 电话号码
  • url - URL
如果我记录 MKMapItem ,我会得到一个看起来像 JSON 字典的结构,其中包含嵌套字典:
  • Address - 地址
  • structured address - 结构化地址
  • center - 中心点
  • locality - 区域
  • 等...
许多项目包含了我想要的信息,这些信息不是 MKMapItem 的默认属性。是否有一种方法来解析和建模这些项目?我已经尝试过。
 NSDictionary *mapItemDictionary = (NSDictionary *)mapItem;

[mapItemDictionary valueForKey:@"key"];

当调用[<MKMapItem 0xb02d830> valueForUndefinedKey:]方法时会导致崩溃:

[<MKMapItem 0xb02d830> valueForUndefinedKey:]:该类不支持键值编码,因此无法使用key address。


3
如果mapItem是一个MKMapItem对象,你不能直接把它强制转换为NSDictionary类型。你在日志中看到的可能是MKMapItem内部的placemark属性,它本身包含了一个addressDictionary属性。 - user467105
1个回答

5

Anna Karenina is correct...

MKmapItem *mapItem = mapItemResponseFromLocalSearch;

NSDictionary *itemAddressDictionary = mapItem.placemark.addressDictionary;

CLLocation *location = mapItem.placemark.location

NSString *name = mapItem.name

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接