iPhone 3G: как показать местоположения вокруг фиксированной точки?
-
08-07-2019 - |
Вопрос
Мое текущее местоположение исправлено с помощью CoreLocation. Теперь я хочу получить те местоположения (из существующей базы данных), которые находятся в ближайшем (около 100 футов) от него.
Как начать?
<Ч>Обновление: вот реализация формулы Хаверсайна: http://www.jaimerios.com /? p = 39 (очень полезно)
Решение
CLLocation
предоставляет метод для этого:
- (CLLocationDistance) getDistanceFrom: (const CLLocation *) местоположение
Вам нужно будет указать широту и долготу каждой из ваших записей, а затем отсортировать по расстоянию, полученному этим методом.
Другие советы
Геометрия средней школы FTW:
dist = sqrt(pow((x2-x1), 2) + pow((y2-y1), 2))
Одна из вещей, которую вы можете сделать, чтобы упростить этот запрос в SQL-запросе, - это разбить карту на «плитки», то есть область 2 x 2 км, чтобы можно было выполнить запрос вниз к плитке, а затем выполнить цикл по результаты с использованием этой формулы.