/**
* 生成一条路线
* @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;
}