Как извлечь страну и город из MKLocalSearchCompletion?

Я получаю элементы MKLocalSearchCompletion от MKLocalSearchCompleter его делегату. Каждый MKLocalSearchCompletion содержит заголовок и подзаголовок, подзаголовок является адресом. Мне нужно извлечь город и страну из адреса. Пожалуйста помоги!

2 ответа

Решение

MKLocalSearchCompletion не "содержит адрес". Содержит заголовок и подзаголовок. Чтобы получить больше информации, используйте MKLocalSearchCompletion, чтобы сформировать MKLocalSearchRequest и выполнить MKLocalSearch.

Пожалуйста, используйте следующий код:

MKLocalSearchRequest *request = [[MKLocalSearchRequest alloc] init];
request.naturalLanguageQuery = @"1 Infinite Loop Cupertino, CA 95014"; 
request.region = _mapView.region;
MKLocalSearch *search = [[MKLocalSearch alloc] initWithRequest:request];
[search startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error) {
    //NSLog(@"Map Items: %@", response.mapItems);
    if (response.mapItems.count>0) {
        for (MKMapItem *item in response.mapItems) {
            //NSLog(@"Place: %@",[item valueForKey:@"place"]);
            NSDictionary *dictStructuredAddress = [[[item valueForKey:@"place"] valueForKey:@"address"] valueForKey:@"structuredAddress"];
            NSLog(@"Structured Address : %@",dictStructuredAddress); 
            NSLog(@"Country & City : %@ & %@",[dictStructuredAddress valueForKey@"country"],[dictStructuredAddress valueForKey@"locality"]);
        }
}];

Внутри этого dictStructuredAddress Вы можете получить страну, город и т. д.

Другие вопросы по тегам