如何提示从嵌入式地图打开 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¶meters,
我在这里使用的方便参数是标记的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:如何将缩放级别和地图中心设置为用户提交的位置?