let map; $(function () { initMap(); }) // 初始化地图 function initMap() { createMap(); // 创建地图 madeBoundary(); //加载区域图 addMapControl(); // 添加自定义控件 setMapEvent(); //地图控件设置 // setTimeout(riskIcon,3000); riskIcon(); } //地图设置start function setMapEvent() { map.enableScrollWheelZoom(); map.enableKeyboard(); map.enableDragging(); map.enableDoubleClickZoom(); } //地图设置end // 创建地图 function createMap() { map = new BMap.Map("map", { mapType: BMAP_NORMAL_MAP }); // 创建Map实例 map.centerAndZoom('合肥', 8); // 初始化地图,设置中心点坐标和地图级别 /* //添加地图类型控件 map.addControl(new BMap.MapTypeControl({ mapTypes: [ BMAP_NORMAL_MAP, BMAP_HYBRID_MAP ] }));*/ map.setCurrentCity("合肥"); // 设置地图显示的城市 此项是必须设置的 } //设置区域图 start function madeBoundary() { datas = new Array("安徽省-"); let bdary = new BMap.Boundary(); for (let i = 0; i < datas.length; i++) { getBoundary(datas[i], bdary); } } function getBoundary(data, bdary) { data = data.split("-"); bdary.get(data[0], function (rs) { //获取行政区域 let count = rs.boundaries.length; //行政区域的点有多少个 let pointArray = []; for (let i = 0; i < count; i++) { let ply = new BMap.Polygon(rs.boundaries[i], { strokeWeight: 3, strokeColor: "#1066FC", fillOpacity: 1, fillColor: data[1] }); //建立多边形覆盖物 map.addOverlay(ply); //添加覆盖物 } }); } // 设置区域图end //向地图添加控件start function addMapControl() { let mystyleJson = [{ "featureType": "road", "elementType": "all", "stylers": { "lightness": 20 } }, { "featureType": "railway", "elementType": "all", "stylers": { "visibility": "off" } }, { "featureType": "local", "elementType": "labels", "stylers": { "visibility": "off" } }, { "featureType": "water", "elementType": "all", "stylers": { "color": "#d1e5ff" } }, { "featureType": "highway", "elementType": "labels", "stylers": {} } ]; map.setMapStyle({ styleJson: mystyleJson }); } //向地图添加控件end // 获取无人机 function getTerminal(arr) { let result = []; if (JSON.stringify(arr).indexOf("Longitude") != -1) { let lon = arr.Res.GPS.Longitude; let lat = arr.Res.GPS.Latitude let data = wgs84tobd09(parseFloat(lon), parseFloat(lat)); result.push({ "lon": data[0], "lat": data[1], "puid": arr.Res.PUID }); if (result != null && result.length > 0) { for (let i = 0; i < result.length; i++) { map.addOverlay(createMarker(result[i])); } } else { layer.alert("数据获取失败"); } } } // 获取施工现场点坐标 function getJobLocation() { let result = []; if (result != null && result.length > 0) { for (let i = 0; i < result.length; i++) { map.addOverlay(createJobLocationMarker(result[i])); } } else { layer.alert("数据获取失败"); } } //创建地图覆盖物start function createMarker(obj) { //创建地图覆盖物 let cent = ""; let pt = new BMap.Point(obj.lon, obj.lat); let myIcon = getIcon(); return new BMap.Marker(pt, { icon: myIcon }); } //设置无人机图标 start function getIcon() { let url = "../../img/无人机.png"; return new BMap.Icon(url, new BMap.Size(20, 20)); } //设置无人机图标 end function createWorksiteMarker(obj) { //创建地图覆盖物 let pt = new BMap.Point(obj.lon, obj.lat); let myIcon = getWorksiteIcon(obj.isUAV); let marker = new BMap.Marker(pt, { icon: myIcon }); return marker; } //根据状态设置作业现场图标 start function getWorksiteIcon(isUAV) { let url = ''; if (isUAV === "0") { url = "../../img/作业现场1.png"; //作业现场无无人机 } else if (isUAV === "1") { url = "../../img/作业现场2.png"; //作业现场有无人机 } else { url = "../../img/作业现场2.png"; //作业现场有无人机 } return new BMap.Icon(url, new BMap.Size(28, 28)); } //根据状态设置作业现场图标 end //创建施工现场覆盖物start function createJobLocationMarker(obj) { //创建地图覆盖物 console.log(obj); let cent = ""; let pt = new BMap.Point(obj.lon, obj.lat); let myIcon = getJobLocationIcon(obj.riskType); let marker = new BMap.Marker(pt, { icon: myIcon }); addClickHandler(marker, obj); return marker; } //施工现场覆盖物图标 function getJobLocationIcon(riskType) { let url = ""; if (riskType === '2') { url = '../../img/compreDisplay/two-risk.png'; } else if (riskType === '3') { url = '../../img/compreDisplay/three-risk.png'; } else if (riskType === '4') { url = '../../img/compreDisplay/four-risk.png'; } else if (driskType === '5') { url = '../../img/compreDisplay/five-risk.png'; } return new BMap.Icon(url, new BMap.Size(33, 33)); } //覆盖物事件start function addClickHandler(marker, obj) { let steelContent = '
' + obj.proName + '
' + '风险等级:' + obj.riskType + '
' + '作业内容:' + sliceStr(obj.workContent) + '
' + '班组长:' + dealEmptyString(obj.foreman) + '' + dealEmptyString(obj.foremanPhone) + '