百度地图使用
来源:互联网 发布:大数据平台 技术要求 编辑:程序博客网 时间: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); //转到该点位置}
阅读全文
0 0
- 百度地图API使用
- 百度地图使用案例
- Android百度地图使用
- Android百度地图使用
- 百度地图API使用
- 百度地图SDK使用
- 百度地图 使用详解
- 百度地图使用
- 使用百度地图
- 百度地图使用小结
- Android百度地图使用
- 百度地图SDK使用
- 百度地图-使用坐标
- 百度地图使用实例
- 百度地图使用步骤
- 百度地图初步使用
- 百度地图初步使用
- 百度地图使用笔记
- TCP-IP学习笔记(六)——IP:网际协议1
- 服务器Tomcat运行Java项目 80 433 端口被占用 解决方案
- Android开发之玩转FlexboxLayout布局
- ubuntu16.04 安装 eclipse
- 利用Vuforia自定义识别/动态生成识别图的简单操作步骤
- 百度地图使用
- input框行高在安卓和IOS的问题
- javascript的+运算
- 总结的一些mac快捷键
- Android Fk:PKMS(1)-PackageManagerService的Binder架构及初始化
- Opencv
- python图像处理库
- vue之vue-router
- [GNU/Linux] Linux系统调用-进程相关