首页 文章

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

提问于
浏览
0

Question: stackoverflow上有一些关于构建谷歌 Map 网址以在浏览器中打开并显示路线的答案 . 例如,参数解释为here .

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

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

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

有人知道一种方法(或参数)来阻止这种重新排序吗?谢谢 ;)

A possible solution or a modified question: 如果有另一种(正式记录的)构建URL的方法,问题就可以解决了 . 如果单击上面的链接并手动将第二个伯尔尼(结束地址)拖到末尾并执行请求,则会看到以下格式的新URL:

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

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

2 回答

  • 0

    感谢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 = source address,daddr = destination address和to as waypoints . 但实际上,爸爸必须是这条路线的第二点 . 路线的尽头是最后的一部分 .

  • 1

    这些参数适用于“旧”谷歌 Map . 新的谷歌 Map 是不同的 . 现在有用于创建嵌入式 Map 的文档化API:

    Google Maps Embed API

    需要以下URL参数:

    • origin定义显示方向的起点 . 该值可以是地名或地址 . 该字符串应该是URL转义的,因此"City Hall, New York, NY"等地址应转换为纽约州纽约市政厅 . (Google Map 嵌入API在转义空格时支持和%20 . )

    • destination定义方向的终点 .

    以下URL参数是可选的:

    • 航路点指定一个或多个中间位置,用于在原点和目的地之间路由方向 . 可以使用管道符(|)分隔地点(例如柏林,德国|巴黎,法国)来指定多个航路点 . 您最多可以指定20个航点 .

    • 模式定义了旅行方法 . 选项包括驾驶,步行(喜欢人行道和人行道,如果有的话),骑自行车(通过自行车道和可用的首选街道路线),运输或飞行 . 如果未指定模式,则Embed API将显示指定路径的一个或多个最相关模式 .

    • 避免告诉谷歌 Map 避免收费,渡轮和/或高速公路 . 用管道字符分隔多个值(例如,避免=收费公路|高速公路) . 请注意,这并不排除包含受限制功能的路由;它只是将结果偏向更有利的路线 .

    • 单位在结果中显示距离时指定公制或英制单位 . 如果未指定单位,则查询的原始国家/地区将确定要使用的单位 .

    Your example using the Embed API

相关问题