百度地图使用

来源:互联网 发布:大数据平台 技术要求 编辑:程序博客网 时间:2024/06/10 04:01
function BMapManage(divName){ this.map = null;     this.DivName = divName;          this.lushu=null;     this.MapManage=MapManage;          this.bPoints=[];//原始地图点数据  this.carMark=null;}var MapManage = new BMapManage('container');BMapManage.prototype.onLoad = function(){this.map = new BMap.Map(this.DivName);var point = new BMap.Point(116.296098,40.080640);    // 创建点坐标this.map.centerAndZoom(point,12);                     // 初始化地图,设置中心点坐标和地图级别。this.map.addControl(new BMap.NavigationControl()); //map.addControl(new BMap.ScaleControl());   // 添加比例尺控件//map.addControl(new BMap.OverviewMapControl()); //map.addControl(new BMap.MapTypeControl());    //地图类型 地图、卫星、三维this.map.enableScrollWheelZoom();                  // 启用滚轮放大缩小。this.map.enableKeyboard();                         // 启用键盘操作。  this.map.setCurrentCity("北京");          // 设置地图显示的城市 此项是必须设置的}BMapManage.prototype.Clear = function(){this.map.clearOverlays();}//实时点BMapManage.prototype.RealLocationVehicle = function(rData){this.Clear();    var myIcon = new BMap.Icon("http://localhost:8080/js/lib/img/car.png",new BMap.Size(52,26),{anchor : new BMap.Size(27, 13)});for (var i = 0; i < rData.length; i++) {    var point = new BMap.Point(rData[i].DX,rData[i].DY);  var marker = new BMap.Marker(point,{icon:myIcon,title: rData[i].AUTO_BRAND_NO});this.map.addOverlay(marker);      } }//历史线BMapManage.prototype.getLineHis = function(rData,label,flag){var arrPois = [];for(var i = 0; i < rData.length; i++){var point = new BMap.Point(rData[i].DX,rData[i].DY); arrPois.push(point);}    var polyline = new BMap.Polyline(arrPois, {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});this.map.addOverlay(polyline);if(flag){this.map.setViewport(arrPois);}var myIcon = new BMap.Icon("image/car_y.png",new BMap.Size(40,40),{anchor : new BMap.Size(27, 13)});this.lushu = new BMapLib.LuShu(this.map,arrPois,{        defaultContent:label,        autoView:true,//是否开启自动视野调整,如果开启那么路书在运动过程中会根据视野自动调整        speed:7000,        icon:myIcon,       // enableRotation:true,//是否设置marker随着道路的走向进行旋转landmarkPois: [       {}]}); }//车辆在历史线上播放BMapManage.prototype.carStart = function(){this.lushu.start();}//车辆在历史线上停止BMapManage.prototype.carStop = function(){this.lushu.stop();}//起点库房BMapManage.prototype.getStartPoint = function (rData) {    var myIcon = new BMap.Icon("../Map/Img/tj/gds.gif",new BMap.Size(45,42),{anchor : new BMap.Size(27, 27)});for (var i = 0; i < rData.length; i++) {var point = new BMap.Point(rData[i].DX,rData[i].DY);  var marker = new BMap.Marker(point,{icon:myIcon,title: rData[i].WH_NAME});this.map.addOverlay(marker);      }}//终点库房BMapManage.prototype.getendPoint = function(rData){var myIcon = new BMap.Icon("../Map/Img/tj/gds2.gif",new BMap.Size(45,42),{anchor : new BMap.Size(27, 27)});for (var i = 0; i < rData.length; i++) {var point = new BMap.Point(rData[i].DX,rData[i].DY);  var marker = new BMap.Marker(point,{icon:myIcon,title: rData[i].WH_NAME});this.map.addOverlay(marker);      }}//显示出所有的库房BMapManage.prototype.ShowWH=function(rData){this.Clear();    var myIcon = "";    var w = 0;    var m = 0;    var markers = [];    var whIds = [];    var whTypes = [];          var marker=null;    var pt =null;        for (var i = 0; i < rData.length; i++) {    var whId = rData[i].WH_ID;    //1为智能库房,2为普通库,3密集柜,4周转柜    if(rData[i].TYPE_CODE=='1'){    //立体库房     myIcon = new BMap.Icon("../baiduMap/img/body_LK.png",new BMap.Size(130,42),{anchor : new BMap.Size(27, 27)});}else if(rData[i].TYPE_CODE=='2'){//普通库  myIcon = new BMap.Icon("../baiduMap/img/body_LK.png",new BMap.Size(110,50),{anchor : new BMap.Size(27, 27)});}else if(rData[i].TYPE_CODE=='3'){//密集柜  myIcon = new BMap.Icon("../baiduMap/img/body_mjg.png",new BMap.Size(120,60),{anchor : new BMap.Size(27, 27)});}else if(rData[i].TYPE_CODE=='4'){//周转柜  myIcon = new BMap.Icon("../baiduMap/img/body_zzg.png",new BMap.Size(120,60),{anchor : new BMap.Size(27, 27)});}        pt = new BMap.Point(rData[i].LONGITUDE, rData[i].LATITUDE);       marker=new BMap.Marker(pt,{icon:myIcon,title:rData[i].WH_NAME,WH_ID: rData[i].WH_ID});       whIds.push(whId);       whTypes.push(rData[i].TYPE_CODE);        markers.push(marker);               (function(){var index = i;    markers[i].addEventListener("click", function(marker1){parent.showWH(whIds[index],whTypes[index],marker1.point.lat,marker1.point.lng);});    })();           }   this.map.markers=markers;   var markerClusterer = new BMapLib.MarkerClusterer(this.map, {markers:markers});   markerClusterer.setGridSize(100);//粘性更大   markerClusterer.setMaxZoom(2); //设置第7层就不聚合了   }//打开消息窗口BMapManage.prototype.openInfoWindow=function(index,infos){var i=index;var sContent ="<h4 style='margin:0 0 5px 0;padding:0.2em 0'>天安门</h4>" + "<img style='float:right;margin:4px' id='imgDemo' src='http://app.baidu.com/map/images/tiananmen.jpg' width='139' height='104' title='天安门'/>" + "<p style='margin:0;line-height:1.5;font-size:13px;text-indent:2em'>天安门坐落在中国北京市中心,故宫的南侧,与天安门广场隔长安街相望,是清朝皇城的大门...</p>" + "</div>";var infoWindow = new BMap.InfoWindow(sContent);  // 创建信息窗口对象this.map.markers[i].openInfoWindow(infoWindow);}//关闭消息窗口BMapManage.prototype.closeInfoWindow=function(){this.map.closeInfoWindow();}//BMapManage.prototype.ShowFKPostion = function (rData) {this.Clear();    var myIcon = "";    var w = 0;    var m = 0;    var markers = [];    var whIds = [];for (var i = 0; i < rData.length; i++) {var whId = rData[i].WH_ID;if(rData[i].LEVEL_CODE=='01'){ myIcon = new BMap.Icon("../Map/Img/marker01.png",new BMap.Size(90,42),{anchor : new BMap.Size(27, 27)});}else{  myIcon = new BMap.Icon("../Map/Img/tj/gds3.gif",new BMap.Size(110,42),{anchor : new BMap.Size(27, 27)});}var point = new BMap.Point(rData[i].DX,rData[i].DY);  var marker = new BMap.Marker(point,{icon:myIcon,title: rData[i].WH_NAME});    this.map.centerAndZoom(point, 15);this.map.addOverlay(marker);  markers.push(marker);whIds.push(whId);(function(){var index = i;    markers[i].addEventListener("click", function(){parent.showWH(whIds[index]);});    })();        if(rData[i].FAULT_NUM>0){        this.map.addOverlay(this.CreateLabelForku("故障",new BMap.Point(rData[i].DX, rData[i].DY), 10, -20, 30));        }        if(rData[i].ALARM_NUM>0){        this.map.addOverlay(this.CreateLabelForkuyj("预警",new BMap.Point( rData[i].DX,rData[i].DY),10, 5, 30));        }    }}BMapManage.prototype.CreateLabelForku = function (Label,Point, ww, hh, width) {    var tempLabel = new BMap.Label( "<div style='background-color:#ff9900;border:1px solid black'><font size=2 color=black>" + Label + "</font></div>",{offset:new BMap.Size(30, -30), position:Point});    return tempLabel;}BMapManage.prototype.CreateLabelForkuyj = function (Label, Point,  ww, hh, width) {    var tempLabel = new BMap.Label( "<div style='background-color:#A4AD38;border:1px solid black'><font size=2 color=black>" + Label + "</font></div>",{offset:new BMap.Size(30, -10), position:Point});    return tempLabel;}function showLine(){      var start = {              latlng: new BMap.Point(117.230847,39.129208),              name: '中心立库'      }      var end = {           latlng: new BMap.Point(117.290847,39.239208),             name: '武清分库'     }       var opts = {             mode: BMAP_MODE_DRIVING,           region: '天津'        }      var routeSearch=new BMap.RouteSearch();      routeSearch.routeCall(start,end,opts);       }  //车辆在实时轨迹BMapManage.prototype.dynamicline = function(rData){  this.bPoints.push(new BMap.Point(rData.DX,rData.DY)); var  len=this.bPoints.length;var newLinePoints=this.bPoints.slice(len-2,len);var markLinePoints=this.bPoints.slice(len-1,len);if(len>0){//最后俩点画线var polyline = new BMap.Polyline(newLinePoints, {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});this.map.addOverlay(polyline);//创建标注对象并添加到地图}if (this.carMark==null) {//最后一点添加车辆markvar myIcon = new BMap.Icon("image/car_y.png",new BMap.Size(40,40),{anchor : new BMap.Size(27, 13)});this.carMark=new BMap.Marker(markLinePoints[0],{icon:myIcon});this.map.addOverlay(this.carMark);//删除上一个车辆mark//this.map.removeOverlay(newLinePoints[0]);}this.carMark.setPosition(markLinePoints[0]);//设置新的中心点和显示级别var view=this.map.getViewport(eval(this.bPoints));this.map.centerAndZoom(view.center,view.zoom);}//清除实施线路的数据BMapManage.prototype.clearbPoints = function(){ this.bPoints=[]; this.carMark=null;}//增大地图一级BMapManage.prototype.magnify=function(){this.map.zoomIn();}//缩小地图一级BMapManage.prototype.reduce=function(){this.map.zoomOut();}//在地图上定位到某点BMapManage.prototype.redirect=function(lon,lat){//map.clearOverlays();var new_point = new BMap.Point(lon,lat);var marker = new BMap.Marker(new_point);  // 创建标注this.map.addOverlay(marker);              // 将标注添加到地图中this.map.panTo(new_point);                //转到该点位置}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 成绩考的不好怎么办读技校有用吗 孩子大学挂科太多家长应该怎么办 中专升大专的入学考没考上怎么办 小孩摔跤额头出了个包怎么办 小孩摔跤后脑勺出了个包怎么办 结婚后疏于关心老婆寒心了怎么办 江苏取消小高考高二学生怎么办 上海学而思家长陪读听不懂怎么办 高考报名的电话号码填错了怎么办 高考报名用的电话号码变换了怎么办 弟媳妇一个月就大闹一次怎么办 丈夫出轨我亲弟媳妇我怎么办 被山西博大泌尿医院坑了怎么办 家长反应孩子学校受欺负老师怎么办 白色衣服和牛仔裤洗变色了怎么办 生完孩子肚子上的松皮怎么办 xp电脑玩cf进入地图黑屏怎么办 爸妈吵架妈妈走了爸爸哭了该怎么办 总担心旅馆被拍视频传上网怎么办 微博买了猜冠军现在停了怎么办 脸上毛孔大有黑头怎么办小窍门去 进去精神病院出来真的疯了怎么办 房子已过户新业主不交物业费怎么办 村委会欠百姓征地补偿款不给怎么办 因为近亲人人都不看好的婚姻怎么办 碰到工作中特别积极的同事怎么办 丈夫车祸死亡妻子和孩子以后怎么办 丈夫死后妻子改嫁儿子不同意怎么办 满了60岁社保没满15年怎么办 捷豹的dpf灯亮了怎么办 朋友如新直销产品是你该怎么办 传福音接受了却被家人拦阻该怎么办 奶奶出钱由孙子抓奖中奖后怎么办 我不想学车了驾校不同意退学怎么办 2017年大学挂科面临退学怎么办 微信重新登录后东西全没了怎么办 宝宝吃鸡蛋过敏全身起红疹怎么办 180在产蛋鸡因断鸡减产怎么办 住友39熔接机熔接损耗大怎么办 支付宝实名认证刷脸失败怎么办 支付宝注册刷脸不是本人怎么办