-1

目标是生成一个类似这样的 url:

https://www.google.com/maps/dir/Bank+of+America+Financial+Center,+West+Dickson+Street,+Fayetteville,+AR/36.0665132,-94.1683564/@36.0666112,-94.1685074,20.5z /data=!4m24!4m23!1m20!1m1!1s0x89e60a1eeb4250dd:0xccaa89765c751072!2m2!1d-94.1683167!2d36.0663015!3m4!1m2!1d-94.1670086!2d36.06649!3s0x87c96edc06ed02d9:0xe92e6aa200c35b43!3m4!1m2!1d-94.1577513! 2d36.0680627!3s0x87c96ed16b367e35:0xd874589e93cbbf83!3m4!1m2!1d-94.1685859!2d36.0672041!3s0x87c96edc39a53117:0x7b5afe32e048704!10

谷歌地图通常会找到不同点之间的最短路径。我们有一个算法可以在折线上生成一个经纬度点的数组。在谷歌地图中,​​您可以手动拖动路线的一部分以查看所需的路径,折线,而不是最短的。问题是在给定折线的情况下生成一个 url。正如您在上面的 URL 中看到的那样,它具有目标点以及一些经纬度,但是还有一些额外的信息,我们无法找到相关文档并且无法进行逆向工程。

有谁知道谷歌地图如何为简单的非目的地纬度的折线生成网址

4

1 回答 1

0

您可以使用非官方、未记录且不受支持的旧版 Google 地图 URL 方案,其中包含一个via参数,可让您指定不应作为中途停留的航点的索引(从零开始) :

https://www.google.com/maps?saddr=Bank+of+America,703+W+Dickson+Street,+Fayetteville,+AR+72701&daddr=36.066481,-94.167010+to:36.068063,-94.157744+to: 36.067205,-94.168591+to:701+W+Dickson+St,+Fayetteville,+AR+72701&dirflg=d&via=1,2,3

请注意,这不受支持。Google 可能会更改甚至删除旧的 URL 方案,导致您的链接将来可能会中断,在这种情况下,您必须使用官方记录的 Google 地图 URL 方案

https://www.google.com/maps/dir/?api=1&origin=Bank+of+America,703+W+Dickson+St,+Fayetteville,+AR+72701&destination=701+W+Dickson+St,+费耶特维尔,+AR+72701&travelmode=driving&waypoints=36.066481,-94.167010%7C36.068063,-94.157744%7C36.067205,-94.168591

您可能还想在 Google 的公共问题跟踪器中提交功能请求,以允许官方地图 URL 方案允许非中途停留航点。

于 2018-04-06T17:44:01.673 回答