【发布时间】:2010-04-22 09:20:41
【问题描述】:
我使用这样的网址:
但它返回完整的 html 页面。有人知道如何以 json 或 xml 或任何可解析的格式获取此类信息吗?
我需要公共交通。
【问题讨论】:
标签: google-maps driving-directions
我使用这样的网址:
但它返回完整的 html 页面。有人知道如何以 json 或 xml 或任何可解析的格式获取此类信息吗?
我需要公共交通。
【问题讨论】:
标签: google-maps driving-directions
您只需在网址末尾添加&output=json。
【讨论】:
我想稍微扩展一下 Mathias 的答案。
目前没有官方的 Google Transit API。 Transit 由机构提供,大多数 Transit 不是公共的。因此,Google 不允许将它们作为 API 打开。
您可以尝试使用您的链接+“&output=json”来使用“非官方”数据。
但是,结果将不是有效的 JSON。相反,这是可以轻松转换为 JavaScript 对象的东西。 (区别在于:属性名称周围没有引号, 字符串未正确编码等)
假设你得到了这个 JavaScript 对象。但是,它不会让您轻松获得结构化的路线详细信息。对象的属性包含路线点坐标,但没有描述。唯一可以找到描述的地方是 'panel' 属性,它包含一段 HTML 文本(您可以在 my blog post 中找到指向 HTML 示例的链接)
因此,您必须将此 HTML 转换为 XML (X-HTML),然后构建此 XML 的解析器以获取旅行的基本数据。
对我来说似乎有点矫枉过正。请记住,“非官方”API 将来可能会发生变化,包括“面板”HTML 结构的细微变化,这会杀死您的解析器。
@MathiasLin,你是如何克服这个问题的?
【讨论】:
Google Maps Javascript v3 和 Directions Web 服务现在具有以下功能: http://googlegeodevelopers.blogspot.in/2012/06/public-transit-routing-and-layer-now.html
【讨论】:
重新选择公共交通工具 - 现在似乎默认为公共交通工具(至少在我使用它时)。
将最后一个 URL 参数 dirflg=r 更改为 dirflg=w 会将方向切换到步行模式。
加看:
Walking, bicycle and public transport directions with time required in each mode , iPhone
有关参数的更多详细信息。
【讨论】:
谷歌方向API响应为HTML,JSON格式请查看https://developers.google.com/maps/documentation/javascript/directions?hl=lv
& section 'DirectionsResult 对象'
【讨论】: