2013-10-24 2 views
4

Я хочу получить доступ к данным в объекте MKMapItem. После поиска информации я спрашиваю сообщество. По ссылке класса компании Apple, есть эти свойства:Разбор MKMapItem с iOS

  • метки
  • isCurrentLocation
  • имя
  • номер телефона
  • URL

Если я вхожу в MKMapItem я получаю то, отображается как словарь JSON словарей, таких как:

  • Адрес
  • структурированный адрес
  • центр
  • местонахождение
  • и т.д ...

Многие элементы содержат информацию, которую я хочу, которые не по умолчанию свойства MKMapItem. Есть ли способ проанализировать и смоделировать эти элементы? Я попытался

NSDictionary *mapItemDictionary = (NSDictionary *)mapItem; 

[mapItemDictionary valueForKey:@"key"]; 

, что приводит к аварии:

[<MKMapItem 0xb02d830> valueForUndefinedKey:]: этот класс не является значением ключа кодирования совместимый для ключа адреса.

+3

Если 'mapItem' является MKMapItem, вы не можете просто бросить его в качестве NSDictionary. То, что вы видите в журнале, - это метка внутри MKMapItem, которая сама содержит свойство addressDictionary. – Anna

ответ

4

Анна Каренина правильно ...

MKmapItem *mapItem = mapItemResponseFromLocalSearch; 

NSDictionary *itemAddressDictionary = mapItem.placemark.addressDictionary; 

CLLocation *location = mapItem.placemark.location 

NSString *name = mapItem.name 
Смежные вопросы