Google Maps URL会阻止航点重新排序

时间:2015-02-27 16:21:45

标签: google-maps

问题: stackoverflow上有一些关于构建谷歌地图网址以在浏览器中打开并显示路线的答案。例如,here解释了这些参数。

现在我有以下案例。我的起点和目的地地址是相同的,两者之间是一些航路点。这条路线是乘车旅行的。 URL如下所示:

https://www.google.ch/maps?saddr=Bern&daddr=Bern+to:Paris+to:Berlin+to:Rome+to:&dirflg=d

如果您点击这些链接,您会看到谷歌重新排序整个路线的点数。首先开始,然后是终点,然后是所有航点。而不是开始 - >航点 - >结束。这种重新排序是因为(并且仅当)起始地址和目标地址相同。

是否有人知道阻止此重新排序的方法(或参数)?谢谢;)

可能的解决方案或修改过的问题: 如果有另一种(正式记录的)方法来构建URL,问题就可以解决了。如果单击上面的链接并手动将第二个伯尔尼(结束地址)拖到末尾并执行请求,则会看到以下格式的新URL:

https://www.google.ch/maps/dir/Bern/Paris,+Frankreich/Berlin,+Deutschland/Rom,+Italien/Bern(...削减数据=等。)

此网址将是我的问题的答案,但我不知道我如何影响例如旅行模式(汽车,步行,公共交通,自行车)。这个URL格式是否记录在某处?

2 个答案:

答案 0 :(得分:1)

感谢geocodezip的例子,我意识到我在网址中犯了错误。

以下不起作用: https://www.google.ch/maps?saddr=Bern&daddr=Bern+to:Paris+to:Berlin+to:Rome&dirflg=d

以下作品: https://www.google.ch/maps?saddr=Bern&daddr=Paris+to:Berlin+to:Rome+to:Bern&dirflg=d

我误解了saddr =源地址,daddr =目的地地址和+作为航路点。但实际上,爸爸必须是这条路线的第二点。路线的末尾是最后的+部分。

答案 1 :(得分:0)

这些参数适用于" old"谷歌地图。新的谷歌地图是不同的。现在有文档化的API用于创建嵌入式地图:

Google Maps Embed API

需要以下网址参数:

  • origin定义显示方向的起点。该值可以是地名或地址。该字符串应该是URL转义的,所以地址如" City Hall,New York,NY"应转换为City + Hall,New + York,NY。 (Google地图嵌入API在转义空格时支持+和%20。)
  • 目的地定义了路线的终点。

以下网址参数是可选的:

  • 航路点指定一个或多个中间位置以在原点和目的地之间路由方向。可以使用管道符(|)分隔地点(例如柏林,德国|巴黎,法国)来指定多个航路点。您最多可以指定20个航点。
  • 模式定义了旅行方法。选项包括驾驶,步行(喜欢人行道和人行道,如果有的话),骑自行车(通过自行车道和可用的首选街道),运输或飞行。如果未指定模式,则Embed API将显示指定路径的一个或多个最相关模式。
  • 避免告诉谷歌地图避免收费,渡轮和/或高速公路。用管道字符分隔多个值(例如,避免=收费公路|高速公路)。请注意,这并不排除包含受限制功能的路线;它只是将结果偏向更有利的路线。
  • 单位在结果中显示距离时指定公制或英制单位。如果未指定单位,则查询的原始国家/地区将确定要使用的单位。

Your example using the Embed API