Я пытаюсь выполнить MKLocalSearch, но только поиск в пределах указанного радиуса

Допустим, я пытаюсь найти запрос в радиусе 1 мили от текущего местоположения пользователя. Вот мой код поиска:

- (void) performLocalSearch{
     MKLocalSearchRequest *searchRequest = [[MKLocalSearchRequest alloc] init];
     searchRequest.naturalLanguageQuery = _searchText;
     MKCoordinateRegion searchRegion;
     searchRegion.center.latitude = userLocation.coordinate.latitude;
     searchRegion.center.longitude = userLocation.coordinate.longitude;
     searchRegion.span.latitudeDelta = 0.0144927536231884;
     searchRegion.span.longitudeDelta = 0.0144927536231884;
     searchRequest.region = searchRegion;


     MKLocalSearch *search = [[MKLocalSearch alloc] initWithRequest:searchRequest];

     [search startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error) {
          for (MKMapItem *item in response.mapItems) {
               MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init];
               annotation.title = item.name;
               annotation.coordinate = item.placemark.coordinate;

               [_map addAnnotation:annotation];
          }
      }
      ];
}

Когда я запускаю код на своем устройстве, контакты отображаются на карте, но они не находятся в пределах указанного радиуса. Я также пытался использовать MKCoordinateRegionMakeWithDistance для установки области поиска, но я не мог понять, как привести значение двойного радиуса в качестве объекта CLLocationDistance. Любая помощь будет оценена. Благодарю.

0 ответов

Другие вопросы по тегам