百度地图常用2.0使用以及调用js
/** * 生成一条路线 * @param {Object} baiduMap 百度地图的 map对象 * @param {Object} lineColor 线路颜色 * @param {Object} startPoint 起点Point对象 * @param {Object} endPoint 结束点Point对象 */ function searchRoadLine(baiduMap,lineColor,startPoint,endPoint){ //实例化一个驾车导航用来生成线路 var drv = new BMap.DrivingRoute(baiduMap,{ onSearchComplete : function(res){ if (drv.getStatus()== BMAP_STATUS_SUCCESS) { var plan = res.getPlan(0); var arrPois=[]; for (var j=0;j<plan.getNumRoutes();j++) { var route=plan.getRoute(j); arrPois=arrPois.concat(route.getPath()); } //#17BF00 绿色 var polyline=new BMap.Polyline(arrPois,{strokeColor : lineColor}); baiduMap.addOverlay(polyline); } } }); drv.search(startPoint, endPoint); } /**实时路况的数组*/ var polylineArray = new Array(); /**数组长度*/ var paLength=0; /** * 生成实时路况 * @param {Object} baiduMap * @param {Object} lineColor * @param {Object} points */ function realRoadStatus(baiduMap,lineColor,points){ //实例化一个驾车导航用来生成线路 var drv = new BMap.DrivingRoute(baiduMap,{ onSearchComplete : function(res){ if (drv.getStatus()== BMAP_STATUS_SUCCESS) { var plan = res.getPlan(0); var arrPois=[]; for (var j=0;j<plan.getNumRoutes();j++) { var route=plan.getRoute(j); arrPois=arrPois.concat(route.getPath()); } //#17BF00 绿色 var polyline=new BMap.Polyline(arrPois,{strokeColor : lineColor}); baiduMap.addOverlay(polyline); polylineArray[paLength]=polyline; paLength++; } } }); for (var i=0;i<points.length-1;i++) { drv.search(points[i],points[i+1]); } } /** * 点集合生成一条折线 * @param {Object} baiduMap 百度的Map图层 * @param {Object} lineColor 折线的颜色 * @param {Object} points 点集合 */ function searchPolylineArray(baiduMap,lineColor,points){ var polyline = new BMap.Polyline(points,{strokeColor:lineColor, strokeWeight:2, strokeOpacity:0.5}); baiduMap.addOverlay(polyline); return polyline; } /** * 创建一个地图弹出框 * @param {Object} marker 点击Mark弹出对话框 * @param {Object} htmlContent 对话框的html */ function createMapWinInfo(marker,htmlContent){ var infoWindow = new BMap.InfoWindow(htmlContent); marker.addEventListener("click", function(){ this.openInfoWindow(infoWindow); }); } /** * 创建一个地图弹出框带 标题栏 * @param {Object} marker 覆盖物 * @param {Object} width 信息栏的宽 * @param {Object} height 信息栏的高 * @param {Object} title 信息栏的主题 * @param {Object} htmlContent 主要内容 */ function createMapWinInfoTitle(marker,width,height,title,htmlContent){ var opts = { width : width, // 信息窗口宽度 height: height, // 信息窗口高度 title : title , // 信息窗口标题 enableMessage:false, //设置允许信息窗发送短息 } var infoWindow = new BMap.InfoWindow(htmlContent, opts); // 创建信息窗口对象 marker.addEventListener("click", function(){ this.openInfoWindow(infoWindow); //开启信息窗口 }); } /** * 创建一个标注 * @param {Object} baiduMap 百度地图 * @param {Object} imageUrl 图片的Url * @param {Object} withed 图片的宽 * @param {Object} height 图片的高 * @param {Object} point Mark的位置 */ function createMarker(baiduMap,imageUrl,withed,height,point){ var myIcon= new BMap.Icon(imageUrl,new BMap.Size(withed,height)); var marker = new BMap.Marker(point,{icon:myIcon}); baiduMap.addOverlay(marker); return marker; } /** * 通过经纬度创建一个标注 * @param {Object} baiduMap 百度地图 * @param {Object} imageUrl 图片的Url * @param {Object} withed 图片的宽 * @param {Object} height 图片的高 * @param {Object} lgt Mark的经度 * @param {Object} lat Mark的纬度 */ function createMarkerlgtlat(baiduMap,imageUrl,withed,height,lgt,lat){ var point = new BMap.Point(lgt,lat); var myIcon= new BMap.Icon(imageUrl,new BMap.Size(withed,height)); var marker = new BMap.Marker(point,{icon:myIcon}); baiduMap.addOverlay(marker); return marker; } /** * 创建一个点 * @param {Object} lgt 点的经度 * @param {Object} lat 点的纬度 */ function createPoint(lgt,lat){ var point = new BMap.Point(lgt,lat); return point; } /** * 移除地图上的覆盖物 * @param {Object} baiduMap * @param {Object} obj */ function removeMapOverlay(baiduMap,obj){ baiduMap.removeOverlay(obj); } /** * 移除地图上所有的覆盖物 * @param {Object} baiduMap */ function removeMapOverlays(baiduMap){ baiduMap.clearOverlays(); } /** * 设置中心点 * @param {Object} baiduMap * @param {Object} point 点或者城市名称 */ function setBMapCenter(baiduMap,point){ baiduMap.setCenter(point); } /** * 初始化百度地图 * @param {Object} lgt 初始化坐标点的经度 纬度 * @param {Object} lat */ function createBMap(lgt,lat){ var baiduMap=new BMap.Map("allmap",{enableMapClick:false});//关闭底图可点功能 var point = new BMap.Point(lgt,lat); baiduMap.centerAndZoom(point, 14); baiduMap.enableScrollWheelZoom(true); //启动滚轮放大缩小功能 return baiduMap; } /** * 初始化百度地图 * @param {Object} cityName 城市名称 */ function createBMapCity(cityName){ var baiduMap=new BMap.Map("allmap",{enableMapClick:false});//关闭底图可点功能 baiduMap.centerAndZoom(cityName, 13); baiduMap.enableScrollWheelZoom(true); //启动滚轮放大缩小功能 return baiduMap; }