腾讯地图–路线规划
前期准备工作在腾讯地图–地图展示 一文中即可查看
勿忘替换自己申请的key值
首先是创建utils文件夹,书写cb.js
/**
* cb腾讯地图路线规划回调函数
* @param {*} ret
*/
export function cb(ret) {
var coords = ret.result.routes[0].polyline,
pl = [];
//坐标解压(返回的点串坐标,通过前向差分进行压缩)
var kr = 1000000;
for (var i = 2; i < coords.length; i++) {
coords[i] = Number(coords[i - 2]) + Number(coords[i]) / kr;
}
//将解压后的坐标放入点串数组pl中
for (var n = 0; n < coords.length; n += 2) {
pl.push(new window.TMap.LatLng(coords[n], coords[n + 1]));
}
display_polyline(pl); //显示路线
//标记起终点marker
}
/**
* display_polyline创建路线
* @param {*} pl
*/
export function display_polyline(pl){
// console.log(pl);
// // let color = ['rgba(0, 180, 0, 1)','rgba(255, 0, 0, 1)','rgba(204,153, 0, 1)','rgba(255, 0, 0, 1)','rgba(204,153, 0, 1)','rgba(0, 180, 0, 1)']
// let geo = []
// pl.forEach(item=>{
// var obj = {
// path: [item.lat,item.lng]
// }
// geo.push(obj)
// })
// var newGeo = []
// geo.forEach(list=>{
// var obj = {
// path: list,
// color: 'rgba(0, 180, 0, 1)'
// }
// newGeo.push(obj)
// })
// console.log(newGeo);
//创建 MultiPolyline显示折线
new