我使用这样的网址:
但它返回完整的html页面。有人知道如何以json或xml或任何可解析的格式获取此类信息吗?
我需要公共交通。
答案 0 :(得分:6)
您只需将&output=json
添加到网址的末尾。
答案 1 :(得分:4)
我想稍微扩展一下Mathias的答案。
momemnt上没有正式的Google Transit API。过境由代理商提供,大多数Transits不公开。因此,Google不允许将其作为API打开。
您可以尝试使用链接+“& output = json”来消费“非官方”数据。
但是,结果将不是有效的JSON。相反,这是可以轻松转换为JavaScript对象的东西。 (不同之处在于:属性名称周围没有引号, 字符串没有正确编码等。)
想象一下,你有这个JavaScript对象。但是,它不允许您轻松获取结构化路线详细信息。对象的属性包含路径点坐标,但没有描述。可以找到描述的唯一地方是“panel”属性,其中包含一大块HTML文本(您可以在my blog post中找到指向HTML示例的链接)
因此,您必须将此HTML转换为XML(X-HTML),然后构建此XML的解析器以获取旅行的基本数据。
对我来说似乎有点矫枉过正。请记住,“非官方”API可能会在未来发生变化,包括“面板”HTML结构中的轻微更改会导致您的解析器失效。
@MathiasLin,你是怎么克服这个的?
答案 2 :(得分:3)
Google Maps Javascript v3和Directions Web Service现在具有以下功能: http://googlegeodevelopers.blogspot.in/2012/06/public-transit-routing-and-layer-now.html
答案 3 :(得分:1)
重新选择公共交通 - 现在似乎默认为公共交通(至少在我使用时)。
将最后一个网址参数dirflg = r更改为dirflg = w会将路线切换为步行模式。
另见:
Walking, bicycle and public transport directions with time required in each mode , iPhone
有关参数的更多详细信息。
答案 4 :(得分:1)
Google方向API响应采用HTML,JSON格式,请检查https://developers.google.com/maps/documentation/javascript/directions?hl=lv
&安培; “DirectionsResult对象”部分