найти ближайшие места в iPhone - PullRequest
0 голосов
/ 10 октября 2009

Привет всем разработчикам iPhone,

Я занимаюсь разработкой приложения для iPhone.

В этом приложении я хочу найти ближайшие места, связанные с текущей CLLocation, которую я получаю с устройства iPhone.

У меня есть база данных на другом сервере.

Я обращаюсь к нему через веб-сервис .NET.

В базе данных для тестирования я создал несколько записей с полями широты и долготы, которые я взял из карт Google.

Теперь мой вопрос таков:

Как определить, что местоположение в базе данных находится вблизи (в пределах диапазона келометров) текущего местоположения?

У меня есть следующие варианты:

  • если

    • мне нужно получить адрес на основе currentLocation.latitude и currentLocation.longitude и передать его на сервис, где я сравниваю это с доступным адресом (у меня есть читайте где-нибудь "геокодирование").

    иначе, если

    • я могу передать широту и долготу непосредственно веб-сервису и делать (какой тип я хочу немного предложение, если кто-нибудь знает) некоторые расчеты там и вернуть данные о ближайших местах обратно на iPhone.

    остальное

    или это решение полностью логично и если у кого есть решение Reagrding это или учебник, то это будет полезно.

1 Ответ

3 голосов
/ 10 октября 2009

Это правда, что существует множество сервисов обратного геокодирования (Google, Yahoo !, GeoNames и т. Д.) Для преобразования из пары широта / долгота в уличный адрес.

Но если в вашей базе данных уже есть пары широта / долгота, то я не думаю, что вам когда-либо понадобится конвертировать в уличный адрес. Вычислить расстояния намного проще, если все ваши точки представлены в широте / долготе, вы можете использовать формулу Haversine .

И на самом деле, если ваша база данных изначально поддерживает пространственные типы (например, MS SQL 2008 выглядит как ), то вы можете перенести эти вычисления на уровень базы данных и вам не придется об этом беспокоиться. Мне кажется, это правильный подход: пусть ваше приложение для iPhone отправляет широковещательные данные на ваш веб-сервис, а база данных рассчитывает ближайшие точки интереса.

...