先创建一张地图的容器:
<div class="pos-a" id="allmap"
style="width: 100%; height: 95.5%;">
</div>
然后实例化地图:
var map = new BMap.Map('allmap');
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
map.enableScrollWheelZoom(true);
创建几个坐标点对象。
//起点
var p1 = new BMap.Point(116.301934,39.977552);
//途经点
var p2 = new BMap.Point(116.319876,39.943319);//豪柏大厦
var p3 = new BMap.Point(116.405628,39.9139721);//天安门
var p4 = new BMap.Point(116.455646,39.937433);//体育馆
//终点
var p5 = new BMap.Point(116.508328,39.919141);
var points = [p1,p2,p3,p4,p5];
创建百度地图驾车实例:
//创建行车路线规划实例
var driving = new BMap.DrivingRoute(map);
for(var i = 0;i<points.length;i++){
if(i != points.length-1){
driving.search(points[i], points[i+1]); //绘制两个点之间的路线
}
}
完整代码:
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map('allmap');
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
map.enableScrollWheelZoom(true);
//起点
var p1 = new BMap.Point(116.301934,39.977552);
//途经点
var p2 = new BMap.Point(116.319876,39.943319);//豪柏大厦
var p3 = new BMap.Point(116.405628,39.9139721);//天安门
var p4 = new BMap.Point(116.455646,39.937433);//体育馆
//终点
var p5 = new BMap.Point(116.508328,39.919141);
var points = [p1,p2,p3,p4,p5];
//起点
var mp1 = points[0];
//终点
var mp2 = points[points.length-1];
map.clearOverlays(); //清除地图上所有的覆盖物
//创建行车路线规划实例
var driving = new BMap.DrivingRoute(map);
for(var i = 0;i<points.length;i++){
if(i != points.length-1){
driving.search(points[i], points[i+1]); //绘制两个点之间的路线
}
}
//显示终点和起点的标注
driving.setSearchCompleteCallback(function(){
var pts = driving.getResults().getPlan(0).getRoute(0).getPath();
//通过驾车实例,获得一系列点的数组
var polyline = new BMap.Polyline(pts);
map.addOverlay(polyline);
var m1 = new BMap.Marker(mp1); //起点
var m2 = new BMap.Marker(mp2); //终点
map.addOverlay(m1);
map.addOverlay(m2);
var lab1 = new BMap.Label("起点",{position:mp1});
var lab2 = new BMap.Label("终点",{position:mp2});
map.addOverlay(lab1);
map.addOverlay(lab2);
setTimeout(function(){
map.setViewport(points);
//调整到最佳视野
},1000);
});
</script>