Как получить маршруты общественного транспорта Google Maps по HTTP-запросу на стороне сервера - PullRequest
8 голосов
/ 22 апреля 2010

Я использую такие URL, как:

http://maps.google.com/?saddr=546%206th%20Avenue,%20New%20York,%20NY%2010011%20(Sixth%20Avenue,%20New%20York)&daddr=W%20103rd%20St,%20New%20York,%20NY%20&dirflg=r

Но он возвращает полную HTML-страницу.Кто-нибудь знает, как получить такую ​​информацию в формате json или xml или в любом другом формате?

Мне нужен общественный транспорт.

Ответы [ 5 ]

6 голосов
/ 22 июня 2010

Вы просто добавляете &output=json в конец URL.

4 голосов
/ 10 апреля 2012

Я бы хотел немного расширить ответ Матиаса.

  1. На данный момент нет официального API Google Transit. Транзиты предоставляются агентствами, и большинство Транзитов не являются публичными. Поэтому Google не может открывать их как API.

  2. Вы можете попытаться использовать "неофициальные" данные, используя вашу ссылку + "& output = json".

  3. Однако результат не будет действительным JSON. Вместо этого это то, что можно легко преобразовать в объект JavaScript. (Различия: нет кавычек вокруг имен свойств, строки неправильно закодированы и т. д.)

  4. Представьте, что вы получили этот объект JavaScript. Тем не менее, это не позволит вам легко получить структурированные детали маршрута. Свойства объекта содержат координаты точек маршрута, но не содержат описания. Единственное место, где можно найти описания, - это свойство 'panel', которое содержит кусок текста HTML (ссылку на образец HTML можно найти в моем блоге )

  5. Итак, вам придется преобразовать этот HTML в XML (X-HTML), а затем создать синтаксический анализатор этого XML, чтобы получить основные данные поездки.

Для меня это немного излишне. Принимая во внимание, что «неофициальный» API может измениться в будущем, включая небольшие изменения в структуре HTML панели, которые убьют ваш анализатор.

@ MathiasLin, как ты с этим справился?

3 голосов
/ 15 августа 2012

Google Maps Javascript v3 и веб-служба маршрутов теперь имеют следующие возможности: http://googlegeodevelopers.blogspot.in/2012/06/public-transit-routing-and-layer-now.html

1 голос
/ 17 июля 2013

Ответ API направления Google в формате HTML, JSON, пожалуйста, отметьте https://developers.google.com/maps/documentation/javascript/directions?hl=lv

& раздел 'Объект DirectionsResult'

1 голос
/ 15 февраля 2012

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

Изменение последнего параметра URL-адреса, dirflg = r, на dirflg = w переключает направления в режим ходьбы.

Плюс см .:

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

для более подробной информации о параметрах.

...