2009-10-10 2 views
0

Привет всем разработчикам iPhone,найти ближайшие места в iPhone

Я разрабатываю приложение для iPhone.

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

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

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

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

Теперь, мой вопрос заключается в том, что:

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

У меня есть варианты, как показано ниже:

  • если

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

    еще если

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

    еще

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

+1

- любой из этих ответов на помощь? http://stackoverflow.com/questions/524077/iphone-development-locate-address-from-users-position – jao

+0

thans дал мне какое-то направление – harshalb

ответ

3

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

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

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

+0

хороший и хорошо сформированный ответ. Так держать. – harshalb

Смежные вопросы