谷歌地图 URL 阻止航点重新排序

     2023-02-23     57

关键词:

【中文标题】谷歌地图 URL 阻止航点重新排序【英文标题】:Google Maps URL prevent waypoint reorder 【发布时间】:2015-02-27 16:21:44 【问题描述】:

问题: *** 上有一些关于构建 google maps url 以在浏览器中打开和显示路线的答案。参数解释以here为例。

现在我有以下情况。我的起始地址和目的地地址是相同的,并且它们之间是一些航路点。路线是汽车行驶。网址如下:

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

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

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

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

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

此 URL 将是我问题的答案,但我不知道如何影响例如出行方式(汽车、步行、公交、自行车)。此 URL 格式是否记录在某处?

【问题讨论】:

【参考方案1】:

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

以下不起作用: 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 = 目标地址和+to 误解为航点。但实际上,daddr 必须是路线中的第二个点。而路线的尽头是最后一个+to部分。

【讨论】:

【参考方案2】:

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

Google Maps Embed API

以下网址参数是必需的:

origin 定义显示方向的起点。该值可以是地名或地址。该字符串应该是 URL 转义的,因此“City Hall, New York, NY”之类的地址应该转换为 City+Hall,New+York,NY。 (转义空格时,Google Maps Embed API 支持 + 和 %20。) destination 定义方向的终点。

以下 URL 参数是可选的:

waypoints 指定一个或多个中间位置,用于在起点和终点之间路由路线。可以通过使用竖线字符 (|) 来指定多个航路点来分隔地点(例如柏林、德国|巴黎、法国)。您最多可以指定 20 个航点。 mode 定义了出行方式。选项包括驾车、步行(首选人行道和人行道,如果可用)、骑自行车(通过自行车道和首选街道(如果可用)、公交或飞行。如果未指定模式,Embed API 将显示与指定路由最相关的一种或多种模式。 avoid 告诉 Google 地图避开收费站、渡轮和/或高速公路。使用竖线字符分隔多个值(例如,避免=tolls|highways)。请注意,这并不排除包含受限功能的路线;它只是将结果偏向更有利的路线。 units 在结果中显示距离时指定公制或英制单位。如果未指定单位,则查询的来源国家/地区将确定要使用的单位。

Your example using the Embed API

【讨论】:

我已经能够使用 Google Maps JavaScript API V3 嵌入地图。我真的很想建立一个 URL,因为只有这样才允许在浏览器中打开一条路线,允许用户使用他知道的当前标准谷歌地图全屏用户界面来操纵路线。当您只是查看路线时,我认为嵌入地图是可以的。但是你的例子向我展示了我犯的错误:)!您的示例中“更多选项”后面的链接显示了有效的网址。看起来这个嵌入 API 使用的是旧格式。

如何使用谷歌地图和离子设置航点行程

】如何使用谷歌地图和离子设置航点行程【英文标题】:howtosetwaypointitinerarywithgooglemapsandionic【发布时间】:2020-05-0308:21:25【问题描述】:我需要在屏幕上显示一张地图,上面有我要去的地方的路线。我需要它按顺序显示,并让... 查看详情

谷歌地图方向服务航路点超过 50 个

】谷歌地图方向服务航路点超过50个【英文标题】:Googlemapdirectionserviceswaypointsmorethan50【发布时间】:2014-03-2902:29:47【问题描述】:Documentation表示航点限制为8个点。但我必须从50多个航点中找到最佳航点订单列表。该怎么做?我... 查看详情

谷歌地图 API 不在不同的大陆上绘制

】谷歌地图API不在不同的大陆上绘制【英文标题】:GooglemapAPIdoesnotplotondifferentcontinents【发布时间】:2012-08-0107:54:53【问题描述】:我已经使用谷歌地图API在谷歌地图上绘制了一个航点我参考了以下页面:https://developers.google.com/m... 查看详情

仅基于 2 个航点显示 Google PlacesSearch 结果

...:52:53【问题描述】:希望你能帮助我。我的网站上出现了谷歌地图,使用AngularJS1。(虽然很多代码是vanillajs)。在我的地图上,如果您搜索起点和终点,标记会下降并显示从起点到终点的谷歌路线。伟大的!:)不过, 查看详情

Apple Map 中的多个航点

...发布时间】:2015-01-0910:35:24【问题描述】:有没有办法像谷歌地图一样以编程方式在Apple地图中显示多个点之间的路线?【问题讨论】:我的问题也一样...嘿达瓦尔!你找到答案了吗???【参考方案1】:正如MKMapItem文档所述:... 查看详情

在 Google 地图上重新排序控件

...Map【发布时间】:2015-01-0804:59:11【问题描述】:我有一个谷歌地图,右下角有一些控件(其他3个角已经被占用,所以这些都需要在同一个角)。我是这样设置的:mapTypeControlOptions:mapTypeIds:[google.maps.MapTypeId.ROADMAP,google.maps.MapTypeId. 查看详情

显示信息窗口后阻止谷歌地图移动

】显示信息窗口后阻止谷歌地图移动【英文标题】:PreventingGoogleMapsMoveAfterDisplayingInfowindow【发布时间】:2013-08-2615:07:23【问题描述】:我正在尝试在Google地图上显示信息窗口。它显示完美,当您将鼠标悬停在标记上时,它会加... 查看详情

为啥 CSP 安全标头会阻止 Iphone 上的谷歌地图?

】为啥CSP安全标头会阻止Iphone上的谷歌地图?【英文标题】:WhyCSPsecurityheaderblocksgooglemapsonIphone?为什么CSP安全标头会阻止Iphone上的谷歌地图?【发布时间】:2020-12-1121:14:24【问题描述】:我有这个标题吗?标头(“内容安全策略... 查看详情

重新加载/刷新谷歌地图

】重新加载/刷新谷歌地图【英文标题】:Reload/RefreshGooglemap【发布时间】:2011-08-2921:15:41【问题描述】:当用户从选择字段中选择一个选项时,我想用新标记重新加载谷歌地图。请帮助我如何用新标记刷新/重新加载谷歌地图。... 查看详情

重新加载谷歌地图

】重新加载谷歌地图【英文标题】:Reloadinggooglemap【发布时间】:2013-03-0113:06:02【问题描述】:我的网站上有3种不同的谷歌地图,一种用于在台式机、平板电脑和移动设备上查看时,当我调整浏览器的大小时,人们可能会执行... 查看详情

停止谷歌地图重新加载

】停止谷歌地图重新加载【英文标题】:StopGoogleMapsreloading【发布时间】:2014-04-3003:51:19【问题描述】:当我们拖动Google地图以显示另一个位置时,它会加载地图图像。当我回到第一个位置时,我希望这些图像以某种方式被缓存... 查看详情

刷新/重新加载地图:谷歌地图 API V2

】刷新/重新加载地图:谷歌地图APIV2【英文标题】:Refresh/Reloadmaps:GooglemapsAPIV2【发布时间】:2011-10-1416:48:18【问题描述】:我在我的谷歌地图中显示一些标记,从数据库中检索一些点。在这里,我也可以在我的数据库中添加一... 查看详情

使用航点启动 google maps android 应用程序

...按钮的网站。当我点击平板电脑或智能手机上的按钮时,谷歌地图安卓应用程序应该从网站上设置的方向开始。使用一个源和一个目标地址,这不是问题。为此,我可以使用:google.navigation:q=latitude, 查看详情

从自定义地图链接添加 Google 地图坐标/标记

】从自定义地图链接添加Google地图坐标/标记【英文标题】:AddingGoogleMapsco-ordinates/markersfromacustommaplink【发布时间】:2015-05-2914:28:29【问题描述】:我想知道您是否可以输入通过Google地图创建的自定义地图的URL,然后在您的应用... 查看详情

如何从谷歌地图扩展共享位置 URL?

】如何从谷歌地图扩展共享位置URL?【英文标题】:HowtoexpandthesharedlocationURLfromGoogleMaps?【发布时间】:2019-06-0221:34:45【问题描述】:我正在尝试从谷歌地图共享位置链接获取位置,因此我使用GoogleShortenURLAPI来扩展URL,但是当我... 查看详情

谷歌地图:重新定义中心点,适合特定区域的边界

】谷歌地图:重新定义中心点,适合特定区域的边界【英文标题】:GoogleMaps:redefinecenterpoint,fitboundstospecificarea【发布时间】:2012-12-2610:53:08【问题描述】:这是我在使用GoogleMapsAPI时遇到的真正挑战。我有一个全屏的应用程序,... 查看详情

Android - 通过网页 url 启动谷歌地图

】Android-通过网页url启动谷歌地图【英文标题】:Android-launchgooglemapviaweburl【发布时间】:2011-06-0606:17:41【问题描述】:在iPhone上,maps.google.com网址被本地google地图应用程序截获并加载。我想在Android上做同样的事情,但谷歌地图... 查看详情

如何在不重新加载的情况下动态更新谷歌地图标记

】如何在不重新加载的情况下动态更新谷歌地图标记【英文标题】:Howtodynamicallyupdategooglemap\'smarkerwithoutreloadingit【发布时间】:2019-05-2405:47:13【问题描述】:我正在从汽车上获取动态经纬度(map_lat、map_lon),并且该值每1秒不... 查看详情