我正在使用MKLocalSearch
執行地圖搜索。我的問題是在響應中的MKMapItems的排序。例如,搜索我目前所在的城市將首先返回一些與城市名稱相關的業務,我將不得不向下滾動一段時間才能找到實際的城市。我正在使用MKLocalSearchRequest
的region
屬性將搜索集中在附近區域。過濾/訂購MKLocalSearch響應
我的問題是:
- 你能效果,其中的響應返回給你的命令?例如,地圖應用會在剛剛輸入第一個字母后列出我的城市。沒有POI或企業上榜?
- 有沒有一種方法可以完全消除搜索中的商家,只有獲得地址才能做出迴應?
不知道有關與否,但這裏是搜索代碼:
-(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];
}
}];
}
請參見下面的鏈接可能是它會幫助你。 http://stackoverflow.com/questions/14950896/showing-nearby-restaurants-in-mkmap-view –