Получить координаты маркеров Google Maps - PullRequest
3 голосов
/ 16 марта 2010

Я создаю базу данных, содержащую имена и координаты всех автобусных остановок в моем районе. У меня есть все имена, хранящиеся в моей базе данных, и теперь мне нужно добавить координаты. Я пытаюсь получить их на веб-сайте, который содержит их в качестве меток на карте Google. Мне кажется, что они генерируются с локального сервера, а затем добавляются на карту. Однако я не могу найти, где именно сервер запрашивает координаты.

Я надеюсь собрать эти координаты с помощью скребка экрана. Однако, если я не смогу найти, где в исходном коде созданы координаты, это кажется невозможным. Конечно, я могу искать и собирать все эти метки вручную, но это займет очень много времени. Поэтому я надеюсь, что кто-то здесь может мне помочь.

Это сайт, который я пытаюсь очистить. Метки отмечены синим знаком автобуса:

http://reiseplanlegger.skyss.no/scripts/travelmagic/TravelMagicWE.dll/?from=Brimnes+ferjekai+%28Eidfjord%29&to=

Вы также можете получить координаты одной метки, написав название остановки в поле поиска и нажав кнопку «Vis i kart».

Я надеюсь, что кто-то может мне помочь с этим.

Ответы [ 2 ]

4 голосов
/ 16 марта 2010

При проверке с помощью Firebug оказалось, что упомянутый вами сайт получает данные в формате XML с помощью простых запросов AJAX, таких как:

http://reiseplanlegger.skyss.no/scripts/travelmagic/TravelMagicWE.dll/mapxml?x1=4.85321044921875&x2=5.8282470703125&y1=60.150391714056326&y2=60.524184817591276&loc=1

Параметры (x1, y1), (x2, y2) определяют параметры (долгота, широта) области просмотра. Каждый раз, когда карта перетаскивается, выдается новый запрос AJAX, который возвращает свежие данные.

Это пример ответа на запрос AJAX:

<stages>
  <i n="Arna Stasjon Togstopp (Bergen)" sn="" v="12019888" t="2" i="0" x="5,465809" y="60,420116" sp="" st="Tog.GIF"/>
  <i n="Arna Terminal (Bergen)" sn="" v="12014200" t="2" i="0" x="5,464333" y="60,420319" sp="" st="Buss.GIF"/>
  <i n="Bjørkheim Ved Senter (Samnanger)" sn="" v="12426607" t="2" i="0" x="5,730484" y="60,402178" sp="" st="Buss.GIF"/>
  <i n="Bjørkheim Ved Senter (Samnanger)" sn="" v="12426608" t="2" i="0" x="5,731842" y="60,401312" sp="" st="Buss.GIF"/>
  <i n="Breistein Ferjekai (Bergen)" sn="" v="12017399" t="2" i="0" x="5,399175" y="60,490519" sp="" st="Ferge.GIF"/>
  <i n="Eikelandsosen Terminal (Fusa)" sn="" v="12410510" t="2" i="0" x="5,747773" y="60,241479" sp="" st="Buss.GIF"/>
</stages>

Обратите внимание, что атрибут x определяет долготу, а атрибут y определяет широту.


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

1 голос
/ 16 марта 2010

изучить исходные коды этой страницы. Карта Google пуста от Google. Затем маркеры добавляются кодом. Скорее всего, координаты жестко закодированы в странице или на JS. Или может быть страница запрашивает их через Ajax. Опять же, вы увидите это в исходном коде.

...