Чтобы избежать ограничений API для четырехквартирных домов или одного из других локальных поставщиков поиска, я хотел бы использовать MKLocalSearch для iOS 6.1. Следующий код:
MKLocalSearchRequest *localSearchRequest = [[MKLocalSearchRequest alloc] init];
MKCoordinateRegion localSearchRegion = MKCoordinateRegionMakeWithDistance(CLLocationCoordinate2DMake([theLocationChange.latitude floatValue], [theLocationChange.longitude floatValue]), 500.0f, 500.0f);
localSearchRequest.naturalLanguageQuery = @"restaurants";
localSearchRequest.region = localSearchRegion;
MKLocalSearch *localSearch = [[MKLocalSearch alloc] initWithRequest:localSearchRequest];
[localSearch startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error)
{
if (error)
{
NSLog([error localizedDescription]);
}
for (MKMapItem* mapItem in response.mapItems)
{
NSLog(@"mapitem name is: %@",mapItem.name);
}
}];
будет правильно отображать и отображать рестораны рядом с указанным местом. Если я изменю localSearchRequest.naturalLanguageQuery
на "отели", он отобразит и отобразит отели. То же самое относится к "больницам", "барам" и т.д. Если, однако, я пробую пустую строку или "," * "или"?" для localSearchRequest.naturalLanguageQuery
он не возвращает никаких результатов.
Если я использую API-интерфейс Foursquare и отправляю его в качестве местоположения, я могу легко вернуть список мест, в которые входят локальные предприятия всех типов. Есть ли способ использовать MKLocalSearch для возвращения всех мест или локальных предприятий?