Draw () {
this.markers.forEach((val) => {
this.mapPoint.push(new this.BMap.Point(val.lng, val.lat))
})
//显示轨迹
this.$nextTick(() => {
this.showPoly(this.mapPoint)
})
},
showPoly (pointList) {
//循环显示点对象
console.log(this.BMap)
this.map.clearOverlays()
for(let c=0;c<pointList.length;c++){
var marker = new this.BMap.Marker(pointList[c]);
marker.setLabel(this.markers[c].name);
this.map.addOverlay(marker);
//将途经点按顺序添加到地图上
var label = new this.BMap.Label(c+1,{offset:new this.BMap.Size(20,-10)});
console.log(label.content)
label.content = this.markers[c].name
console.log('label')
marker.setLabel(label);
}
var group = Math.floor( pointList.length /11 ) ;
var mode = pointList.length %11 ;
var driving = new this.BMap.DrivingRoute( this.map, {onSearchComplete: (results) =>{
if (driving.getStatus() == BMAP_STATUS_SUCCESS){
var plan = driving.getResults().getPlan(0);
var num = plan.getNumRoutes();
for(var j =0;j<num ;j++){
var pts= plan.getRoute(j).getPath(); //通过驾车实例,获得一系列点的数组
var polyline = new this.BMap.Polyline(pts);
this.map.addOverlay(polyline);
}
}
}});
for(var i =0;i<group;i++){
var waypoints = pointList.slice(i*11+1,(i+1)*11);
//注意这里的终点如果是11的倍数的时候,数组可是取不到最后一位的,所以要注意终点-1喔。感谢song141的提醒,怪我太粗心大意了~
driving.search(pointList[i*11], pointList[(i+1)*11-1],{waypoints:waypoints});//waypoints表示途经点
}
if( mode != 0){
var waypoints = pointList.slice(group*11,pointList.length-1);//多出的一段单独进行search
driving.search(pointList[group*11],pointList[pointList.length-1],{waypoints:waypoints});
}
},
关于百度地图 规划路径只有11个点的问题
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、细说百度地图的路径规划 路径规划主要有这么几种1.公交路径规划1.1 市内公交规划(暂时不在这里说)1.2 跨...
- 最近学习了百度地图的多途径点路径(驾车路线规划),按照百度地图的Demo学习,实现了页面,唯一遇到的小问题就是在标...
- 开篇 最近写简书不多,除了前段时间一篇匆匆的FFMPEG的理论学习基本没写多少,主要是最近比较忙,又是硬件设备的调...