2014-07-22 1 views
1

J'ai regardé la documentation et ne peux pas trouver un moyen d'utiliser MKLocalSearch pour retourner seulement les zones. Par exemple, je veux que la recherche de rechercher dans le monde entier pour les villes, les villages, les villages & comtés, mais pas de retour des entreprises ou des hôtels, etc. Est-ce possible?Get MKLocalSearch pour retourner seulement des endroits

Merci

D

Répondre

2

Je pense que vous pouvez utiliser prédicats comme ceci:

NSPredicate *noBusiness = [NSPredicate predicateWithFormat:@"business.uID == 0"]; 
NSMutableArray *itemsWithoutBusinesses = [response.mapItems mutableCopy]; 
[itemsWithoutBusinesses filterUsingPredicate:noBusiness]; 

Exemple code de recherche locale ajoute également, ce qui permettra de résoudre votre problème.

-(void)issueLocalSearchLookup:(NSString *)searchString { 
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(self.location.coordinate, 30000, 30000); 
self.localSearchRequest = [[MKLocalSearchRequest alloc] init]; 
self.localSearchRequest.region = region; 
self.localSearchRequest.naturalLanguageQuery = searchString; 
self.localSearch = [[MKLocalSearch alloc] initWithRequest:self.localSearchRequest]; 

[self.localSearch startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error) { 
    if(error){ 
     NSLog(@"LocalSearch failed with error: %@", error); 
     return; 
    } else { 
     for(MKMapItem *mapItem in response.mapItems){ 
      [self.data addObject:mapItem]; 
     } 
     [self.searchDisplayController.searchResultsTableView reloadData]; 
    } 
}]; 

}

+0

Je suis confus, est-ce que Apple fournit des ID pour les entreprises retournées par MKLocalSearch? – thedeveloper3124

+0

Après quelques recherches, il s'agit d'un framework privé utilisant la classe GEOBusiness. – thedeveloper3124

0

en fonction de votre exigence changer le paramètre clé pour addressDictionary.

 for(MKMapItem *mapItem in response.mapItems) 
    { 
     NSLog(@"%@",mapItem.placemark.addressDictionary[@"Street"]); 
} 
+1

Comment cela restreint-il les résultats de MKLocalSearch à des "lieux"? – Anna

Questions connexes