var proId = localStorage.getItem("proId"); var selectLon ; var selectLat ; var cityName ; var map; let layer = ''; $(function () { layui.use('layer', function () { layer = layui.layer; //只有执行了这一步,部分表单元素才会自动修饰成功 }); // setTimeout(function () { // selectLon = localStorage.getItem("selectLon"); // selectLat = localStorage.getItem("selectLat"); cityName = localStorage.getItem("cityName"); // init(); // },500) $.ajax({ type: 'POST', async: true, // 默认异步true,false表示同步 url: ctxPath + "/schedule/getCenterLonLat",// 请求地址 dataType: 'json', // 服务器返回数据类型 data: { proId:proId }, //获取提交的表单字段 success: function (data) { let obj= data.obj; console.log("LON:"+JSON.stringify(obj)); selectLon = obj.selectLon; selectLat = obj.selectLat; init(); } }); }); function init(){ initMap(); madeBoundary(); //加载区域图 selectMap(); } //设置区域图start function madeBoundary() { datas = new Array(cityName !=''?cityName+"-":"湖南省"); // datas = new Array("甘肃省-"); var bdary = new BMap.Boundary(); for(var i=0;i -1) { value = _value.province + _value.city + _value.district + _value.street + _value.business; } str = "FromItem
index = " + e.fromitem.index + "
value = " + value; value = ""; if (e.toitem.index > -1) { _value = e.toitem.value; value = _value.province + _value.city + _value.district + _value.street + _value.business; } str += "
ToItem
index = " + e.toitem.index + "
value = " + value; G("searchResultPanel").innerHTML = str; }); var myValue; ac.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件 var _value = e.item.value; myValue = _value.province + _value.city + _value.district + _value.street + _value.business; G("searchResultPanel").innerHTML ="onconfirm
index = " + e.item.index + "
myValue = " + myValue; setPlace(); }); function setPlace(){ map.clearOverlays(); //清除地图上所有覆盖物 function myFun(){ var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果 console.log('经度:'+pp.lng, '纬度:'+pp.lat); map.centerAndZoom(pp, 18); map.addOverlay(new BMap.Marker(pp)); //添加标注 } var local = new BMap.LocalSearch(map, { //智能搜索 onSearchComplete: myFun }); local.search(myValue); } function theLocation(){ var city = document.getElementById("cityName").value; if(city != ""){ map.centerAndZoom(city,11); // 用城市名设置地图中心点 } } //查询地图杆塔start function selectMap(){ $.ajax({ type: 'POST', async: false, // 默认异步true,false表示同步 url: ctxPath + "/schedule/getTowerMap",// 请求地址 dataType: 'json', // 服务器返回数据类型 data: {proId:proId}, //获取提交的表单字段 success: function (data){ var obj = data.obj; var result = obj; if (document.createElement('canvas').getContext) { // 判断当前浏览器是否支持绘制海量点 var points = []; // 未施工 var basicPoints = []; // 未施工 var towerPoints = []; // 未施工 for (var i = 0; i < result.didnTStartList.length; i++) { var p=createPoint(result.didnTStartList[i]); points.push(p); } for (var i = 0; i < result.basicFinishList.length; i++) { var p=createPoint(result.basicFinishList[i]); basicPoints.push(p); } for (var i = 0; i < result.towerFinishList.length; i++) { var p=createPoint(result.towerFinishList[i]); basicPoints.push(p); } // 添加自定义标注 var point = new BMap.Point(result.ProjectTeamBean.lon, result.ProjectTeamBean.lat); var myIcon = new BMap.Icon("../../img/home/blue_frame.png", new BMap.Size(30, 30)); var marker = new BMap.Marker(point, {icon: myIcon}); map.addOverlay(marker); // 添加点击事件 marker.addEventListener("click", function(){ var infoWindow = new BMap.InfoWindow("工程名称:"+result.ProjectTeamBean.proName+"
所属分公司:"+result.ProjectTeamBean.orgName); map.openInfoWindow(infoWindow, point); infoWindow.disableCloseOnClick() }); // // 创建标记点并添加到地图 // for (var i = 0; i < points.length; i++) { // var pt = new BMap.Point(points[i].lng, points[i].lat); // // 创建自定义图标 // var icon = new BMap.Icon("../../img/home/map_ash_1.png", new BMap.Size(30, 30)); // var marker = new BMap.Marker(pt, {icon: icon}); // marker.addEventListener("click", clickPoint); // map.addOverlay(marker); // } var pointCollection = createPointCollection(points,'#ff0000'); var basicPointCollection = createPointCollection(basicPoints,'#76ea07'); // var towerPointCollection = createPointCollection(towerPoints,'#df864c'); pointCollection.addEventListener('click',clickPoint); basicPointCollection.addEventListener('click',clickPoint); // towerPointCollection.addEventListener('click',clickPoint); //旧版本 添加海量点 //map.addOverlay(pointCollection); //map.addOverlay(basicPointCollection); // 循环遍历创建覆盖物和文字标注 for (var i = 0; i < points.length; i++) { var point = points[i]; var icon = new BMap.Icon("../../img/home/redFlag.png", new BMap.Size(30, 30)); var marker = new BMap.Marker(point,{icon: icon}); // 创建文字标注 var label = new BMap.Label(points[i].towerName , {offset: new BMap.Size(20, -10)}); label.setStyle({ color: "black", // 设置文本颜色 fontSize: "12px", // 设置字体大小 background: 'transparent', // 将背景色设置为透明 border: 'none' }); marker.setLabel(label); // 添加覆盖物到地图上 map.addOverlay(marker); } for (var i = 0; i < basicPoints.length; i++) { var point = basicPoints[i]; var icon = new BMap.Icon("../../img/home/greenFlag.png", new BMap.Size(30, 30)); var marker = new BMap.Marker(point,{icon: icon}); // 创建文字标注 var label = new BMap.Label(basicPoints[i].towerName , {offset: new BMap.Size(20, -10)}); label.setStyle({ color: "black", // 设置文本颜色 fontSize: "12px", // 设置字体大小 background: 'transparent', // 将背景色设置为透明 border: 'none' }); marker.setLabel(label); // 添加覆盖物到地图上 map.addOverlay(marker); } // map.addOverlay(towerPointCollection); } else { alert('请在chrome、safari、IE8+以上浏览器查看本示例'); } }, error:function (XMLHttpRequest, textStatus, errorThrown) { } }); } //查询地图杆塔end //创建点strat function createPoint(respone){ var p =new BMap.Point(respone.lon, respone.lat); p.towerName=respone.towerName; p.basicName=respone.basicName; p.groupTowersName=respone.groupTowersName; p.basicFinishTime=respone.basicFinishTime; p.groupTowersFinishTime=respone.groupTowersFinishTime; return p; } //创建点end //设置杆塔样式start function createPointCollection(points,color){ var options = { size: BMAP_POINT_SIZE_BIG,// 定义点的尺寸为大,宽高为8px*8px。 shape: BMAP_POINT_SHAPE_CIRCLE, //形状:正方形 color: color //蓝色 }; var pointCollection = new BMap.PointCollection(points,options); return pointCollection; } //设置杆塔样式end //杆塔点击事件start function clickPoint(e){ map.closeInfoWindow(); // 关闭之前的信息窗口 let cent = "" +e.point.towerName+""; if (isEmpty(e.point.basicFinishTime)){ cent +="
" + e.point.basicName+":未完成"; }else { cent +="
" + e.point.basicName+":"+e.point.basicFinishTime+""; } // if (isEmpty(e.point.groupTowersFinishTime)){ // cent +="
" + e.point.groupTowersName+":未完成"; // }else { // cent +="
" + e.point.groupTowersName+":"+e.point.groupTowersFinishTime+""; // } console.log('clickPoint executed') console.log('cent:'+cent) let infoWindow = new BMap.InfoWindow(cent); console.log("11111111") // 监听点击事件 let point = new BMap.Point(e.point.lng,e.point.lat); console.log("2222222") map.openInfoWindow(infoWindow,point); //开启信息窗口 console.log("--------------------") infoWindow.disableCloseOnClick() } //杆塔点击事件end //杆塔信息窗口start var optsGt = { width : 100, // 信息窗口宽度 height: 80, // 信息窗口高度 borderRadius: 5 };