我正在使用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 –