지도 검색을 수행하려면 MKLocalSearch
을 사용하고 있습니다. 내 문제는 응답에서 MKMapItems의 순서입니다. 예를 들어 내가 현재있는 도시를 검색하면 처음에는 도시 이름과 관련된 많은 업체가 반환되며 실제 도시를 찾으려면 잠시 아래로 스크롤해야합니다. 속성을 MKLocalSearchRequest
으로 사용하여 가까운 지역에서 검색에 집중합니다.필터링/주문 MKLocalSearch 응답
내 질문은 :
- 당신은 응답이 당신에게 반환되는 순서에 영향을 수 있습니까? 예를 들어지도 앱은 첫 번째 문자를 입력 한 후 내 도시를 맨 위에 표시합니다. POI가 없거나 비즈니스가 위에 올라온 이유는 무엇입니까?
- 검색에서 업체를 완전히 삭제하고 이에 대한 응답으로 주소를 가져 오는 방법이 있습니까? 여기
관련된 경우 또는 확실하지,하지만 검색에 대한 코드입니다 : MKLocalSearchRequest
-(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 –