首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让MKLocalSearch只返回位置

让MKLocalSearch只返回位置
EN

Stack Overflow用户
提问于 2014-07-22 11:35:15
回答 2查看 2K关注 0票数 1

我已经查看了文档,无法找到一种使用MKLocalSearch只返回区域的方法。例如,我希望搜索世界各地的城市,城镇,村庄和县,但不返回任何企业或酒店等。这可能吗?

谢谢

D

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-22 12:04:21

我认为您可以像这样使用谓词:

代码语言:javascript
复制
NSPredicate *noBusiness = [NSPredicate predicateWithFormat:@"business.uID == 0"];
NSMutableArray *itemsWithoutBusinesses = [response.mapItems mutableCopy];
[itemsWithoutBusinesses filterUsingPredicate:noBusiness]; 

示例本地搜索代码也在添加,这将解决您的问题。

代码语言:javascript
复制
-(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];
    }
}];

}

票数 2
EN

Stack Overflow用户

发布于 2014-07-22 12:54:08

根据您的需求更改addressDictionary的关键参数。

代码语言:javascript
复制
      for(MKMapItem *mapItem in response.mapItems)
    {
        NSLog(@"%@",mapItem.placemark.addressDictionary[@"Street"]);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24886305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档