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

StackOverflow https://stackoverflow.com/questions/834831

Вопрос

Мое текущее местоположение исправлено с помощью 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 км, чтобы можно было выполнить запрос вниз к плитке, а затем выполнить цикл по результаты с использованием этой формулы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top