百度地图 行车路径规划自定义 起点 终点 路径
2018-01-08 14:46
295 查看
已知N个坐标点,用这个点在百度地图上绘制一条行车路线
问题:百度地图为我们提供了 DrivingRoute API,但是提供的api中并没有提供更改路径、起点、终点、经点的样式,如果想让界面看起来舒服一点就需要自己自定义API DrivingRoute中提供了返回路径规划的路径的path接口,我们可以利用返回的path,
再调用Polyline, 自己绘制一个路径,然后把对应的起终点、经点 绘制就可以实现自定义路路径规划了。
拿到需要的起点、终点、经点的经纬度坐标, 得到对应的point对象,绘制不同类型的marker(起点、经点、终点的自定义);
let {start, end, path} = params; let startPoint = new this.BMap.Point(start.lng, start.lat); let endPoint = new this.BMap.Point(end.lng, end.lat); drawPoint(startPoint, 'start'); drawPoint(endPoint, 'end'); let pathPoint = []; if (path.length > 0) { _ForEach(path, item => { let _point = new this.BMap.Point(item.lng, item.lat); pathPoint.push(_point); drawPoint(_point, 'path'); }); } // 根据不同的type绘制不同的marker (起点、经点、终点) function drawPoint(point, type){ let iconUrl = POINT_ICON[type]; // 通过不同的type 拿到对应的marker的icon url let marker = new BMap.Marker(point, { icon: new BMap.Icon(iconUrl, new BMap.Size(ICON_SIZE_WIDTH, ICON_SIZE_HEIGHT), { imageSize: new BMap.Size(ICON_SIZE_WIDTH, ICON_SIZE_HEIGHT) }), offset: new BMap.Size(0, -ICON_SIZE_HEIGHT/2) }); this.map.addOverlay(marker); }
利用DrivingRoute API 拿到路径的点
let driving = new BMap.DrivingRoute(this.map, { policy: BMAP_DRIVING_POLICY_LEAST_TIME, // 最短事件 // 路径规划的回调函数 把结果绘制到地图上 onSearchComplete: (result) => { let plan = result.getPlan(0); // 拿第一个路径规划的结果 let routeNum = plan.getNumRoutes(); // 如果有经点,会分段,全需要绘制 let polylinePoints = []; for(let i = 1; i <= routeNum; i++){ let pathArr = plan.getRoute(i - 1).getPath(); polylinePoints.push(...pathArr); } // 自定义的路径 let polyline = new BMap.Polyline(polylinePoints, { strokeColor: '#3086f3', strokeWeight: '4', strokeOpacity: '.8' }); this.map.addOverlay(polyline); } }); driving.search(startPoint, endPoint, { waypoints: pathPoint });
相关文章推荐
- 百度地图起点与终点的距离计算(有偿求助)
- android百度地图开发--自定义最短路径搜索图层
- (阶段三 dijkstra温习1.3)HDU 1874 畅通工程续(用dijkstra求单源起点和单点终点的最短路径(起点和终点动态给出))
- 寻路问题--如何找到一条从起点坐标到终点坐标的路径?
- 求无向无权图起点到终点的所有路径
- 自定义室内地图以及路径规划
- 百度地图开发(二)--定位,lbs数据查询,路径规划
- BaiduMap---百度地图官方Demo之路径规划功能(介绍公交,驾车和步行三种线路规划方法和自设路线方法)
- ios百度地图-路径规划
- 百度地图 路径规划笔记本
- 小白和你一起做百度地图的“路径规划”
- 百度地图---之---路径规划
- C++中利用堆栈得到一条已知起点与终点的可通行的路径并输出
- 安卓调用百度地图网页版进行路径规划与导航,只需提供地名
- [LeetCode] Unique Paths 起点与终点确定的路径数
- android 百度地图 起点和终点 连线了,变成封闭
- 【二叉树的递归】05二叉树中找任意起点和终点使他们的路径和最大【Binary Tree Maximum Path Sum】
- Android百度地图实例详解之仿摩拜单车APP(包括附近车辆、规划路径、行驶距离、行驶轨迹记录,轨迹回放,导航等)
- iOS百度地图路径规划功能(对官网文档的理解)
- android 百度地图 起点和终点 连线了 封闭