百度地图常用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;
}

 

posted on 2016-06-22 12:58  奔跑吧!兄弟  阅读(813)  评论(0编辑  收藏  举报