如何提示从嵌入式地图打开 Google Maps Directions 到 Google Maps Navigator 的页面?

Posted

技术标签:

【中文标题】如何提示从嵌入式地图打开 Google Maps Directions 到 Google Maps Navigator 的页面?【英文标题】:How to prompt opening Google Maps Directions from embedded map into page into the Google Maps Navigator? 【发布时间】:2018-02-23 02:33:12 【问题描述】:

我已将谷歌地图嵌入到我的页面中,并在其上显示各种标记。

每当用户点击一个标记时,就会在地图上绘制一条用户当前位置和标记之间的路线。

为了实现这一点,我以以下方式使用 google.maps.DirectionsService():

var directionService = new scp.google.maps.DirectionsService();



 var requestDriving =                                                  
|   origin: start,                                                     
|   destination: end,                                                  
|   travelMode: scp.google.maps.TravelMode.DRIVING                     
;        



directionService.route( requestDriving, function ( response, status )       
|   if ( status === 'OK' )                                            
|   |   console.log( response );                                       
|   |   scp.directionsDriving.setDirections( response );               
|   |   scp.directionsDriving.setMap( scp.map );                       
|                                                                     
);    

函数directionService.route(...) 绘制上述点(制造商)之间的路线。

directionService.route回调中响应对象的内容如下:

Objectgeocoded_waypoints: Array[2]0: Object1: Objectlength: 2__proto__: Array[0]request: Objectdestination: Objectorigin: ObjecttravelMode: "WALKING"__proto__: Objectroutes: Array[1]0: Objectbounds: _.Icb: scf: xc__proto__: Objectcopyrights: "Картографски данни ©2017 Google"legs: Array[1]overview_path: Array[7]overview_polyline: "_tqcGo_lmCTBLCRKR[nA`AQl@"summary: "пл. „Народно събрание“ и ул. „Цар Шишман“"warnings: Array[1]waypoint_order: Array[0]__proto__: Objectlength: 1__proto__: Array[0]status: "OK"__proto__: Object

如何创建提示/链接以在用户绘制路线时出现/弹出,询问他/她是否要打开导航器(android/OS/浏览器)以跟随路线沿线的方向画了吗?

谢谢!

【问题讨论】:

【参考方案1】:

我实际上找到了一个非常简单的解决方案。这可以使用 google maps urls 来实现:

https://www.google.com/maps/dir/?api=1&parameters,

我在这里使用的方便参数是标记的place_id:

https://www.google.com/maps/dir/?api=1&origin=[SOME PLACE]&origin_place_id=[SOME PLACE ID]&destination=[THE DESTINATION OF OUR ROUTE]&destination_place_id=[ANOTHER PLACE ID]

【讨论】:

以上是关于如何提示从嵌入式地图打开 Google Maps Directions 到 Google Maps Navigator 的页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Google Maps V3 中创建编号的地图标记?

Google Maps API - 如何在不显示地图的情况下从自动完成获取纬度和经度?

Google Maps API v3:如何将缩放级别和地图中心设置为用户提交的位置?

从 google_maps_flutter 中删除多余的标记和圆圈

谷歌地图 - 将嵌入移动到静态

谷歌地图使用 google_maps_flutter 插件显示空白地图