2009-03-19 9 views
0

Карты Google имеют функцию, которая позволяет вам восстановить расстояние между двумя точками: getDistance(), класса GDirections.google Maps getDistance без загрузки страницы

Теперь это Javascript, поэтому он сможет вычислять только после загрузки страницы.

Моя поисковая форма, однако, имеет возможность указать, какое максимальное расстояние вы хотите между собой и другим лицом, и на основании этого должен быть предоставлен список результатов поиска.

Поскольку я не могу использовать эту функцию в PHP, есть ли другой способ для меня рассчитать расстояние между двумя точками на земле? Отказавшись от улицы, почтового индекса и названия города, точно так же, как то, что нужно Google maps.

ответ

1

Этот page содержит список параметров карты Google для использования в http-соединении. Указав выходной параметр, вы можете выбрать отдавать файлы kml или аналогичные и могут быть использованы в любом lanuage, который может создавать http-соединения.

+0

хорошо, но какие функции PHP и/или классы я использую в сочетании с этим? – Vordreller

1

Похоже, вы хотите, чтобы вычислить Great Circle Distance

Формулы обсуждались here on stackoverflow раньше.

Точка на земле определяется ее широтой и долготой. Если вы хотите рассчитать расстояние между 2 точками на земле, отказавшись от улицы, почтового индекса и названия города, вам понадобятся данные гео-рефери.

Эти данные доступны бесплатно в Интернете, но точность и доступность сильно отличаются от региона к региону. (Данные США хорошего качества, данные Кения, например, будет труднее прийти)

Так, чтобы ответить на ваш вопрос:
Да, есть и другие способы расчета, что вы хотите. Но они требуют больше работы/более сложны, чем просто запрос API Google.
Возможно, вы хотите прочитать следующее: Creating a Store Locator with PHP, MySQL & Google Maps

Надеюсь, это указывает на то, что вы в правильном направлении.

+0

Я только что закончил чтение, и я думаю, что он решает мою проблему, но я не уверен. Я бы предпочел, чтобы моя страница PHP каким-то образом связывалась с серверами карт google, отправной точкой и целым рядом конечных точек, а затем возвращала мне расстояния. Исходя из этого, я могу заполнить результат поиска – Vordreller

+0

. Я думаю, что это полезный ответ, вы можете его проголосовать. – Jacco

0

Вы можете использовать kml-файл. Это xml-форматированный файл, который вы можете получить по ссылке, например, http://maps.google.com/maps?f=d&hl=en&saddr=<src latitude>,<src longitude>&daddr=<dist latitude>,<dist longitude>&ie=UTF8&0&om=0&output=kml в полученном файле. Вы можете анализировать и суммировать расстояния от

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

  • Нет связанных вопросов^_^