我已查看過文檔,找不到使用MKLocalSearch僅返回區域的方法。例如,我想搜索世界各地的城市,城鎮,村莊&縣但不返回任何企業或酒店等。這是可能的嗎?獲取MKLocalSearch以僅返回地點
感謝
d
我已查看過文檔,找不到使用MKLocalSearch僅返回區域的方法。例如,我想搜索世界各地的城市,城鎮,村莊&縣但不返回任何企業或酒店等。這是可能的嗎?獲取MKLocalSearch以僅返回地點
感謝
d
我認爲你可以使用謂詞是這樣的:
NSPredicate *noBusiness = [NSPredicate predicateWithFormat:@"business.uID == 0"];
NSMutableArray *itemsWithoutBusinesses = [response.mapItems mutableCopy];
[itemsWithoutBusinesses filterUsingPredicate:noBusiness];
例如,本地搜索代碼也增加,這將解決您的問題。
-(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];
}
}];
}
根據您的需要更改addressDictionary的關鍵參數。
for(MKMapItem *mapItem in response.mapItems)
{
NSLog(@"%@",mapItem.placemark.addressDictionary[@"Street"]);
}
這是如何將MKLocalSearch結果限制爲「地點」的? – Anna
我很困惑,蘋果公司是否提供由MKLocalSearch返回的業務ID? – thedeveloper3124
經過一番挖掘,這是一個使用GEOBusiness類的私人框架。 – thedeveloper3124