iPhone 3G: как показать местоположения вокруг фиксированной точки? - PullRequest
0 голосов
/ 07 мая 2009

Мое текущее местоположение исправлено с помощью CoreLocation. Теперь я хочу получить те местоположения (из существующей базы данных), которые находятся в ближайшем (около 100 футов) от него.

Как начать?


Обновление: вот реализация формулы Хаверсайна: http://www.jaimerios.com/?p=39 (очень полезно)

Ответы [ 2 ]

7 голосов
/ 08 мая 2009

CLLocation предоставляет метод для этого:

- (CLLocationDistance)getDistanceFrom:(const CLLocation *)location

Вам нужно будет указать широту и долготу каждой из ваших записей, а затем отсортировать по расстоянию, полученному этим методом.

0 голосов
/ 07 мая 2009

Геометрия средней школы FTW:

dist = sqrt(pow((x2-x1), 2) + pow((y2-y1), 2))

Одна из вещей, которую вы можете сделать, чтобы упростить этот запрос в SQL-запросах, - это разбить карту на «плитки», то есть область 2 км х 2 км, чтобы можно было выполнить запрос вниз к плитке, а затем просмотреть результаты. используя эту формулу.

...