src/main/java/com/moral/common/util/ExampleUtil.java | ●●●●● patch | view | raw | blame | history | |
src/main/webapp/js/moralmap.js | ●●●●● patch | view | raw | blame | history | |
src/main/webapp/js/utils.js | ●●●●● patch | view | raw | blame | history | |
src/main/webapp/view/map.jsp | ●●●●● patch | view | raw | blame | history |
src/main/java/com/moral/common/util/ExampleUtil.java
@@ -55,7 +55,7 @@ } if(!StringUtils.isNullOrEmpty(params)){ params = URLDecoder.decode(params, "UTF-8"); if (!StringUtils.isNullOrEmpty(params) && params.startsWith("or|")) { if (params.startsWith("or|")) { String[] criteria = params.trim().split(OR_SPLIT); for (String criterion : criteria) { // criterion为null或""跳过 src/main/webapp/js/moralmap.js
@@ -120,7 +120,7 @@ var startZoom = moralMap.startZoom(); //刷新key防止延迟加载 // var key = moralMap.lazyKeyer(); var confine = moralMap.getZooMConfine(); var confine = moralMap.getZoomConfine(); if(endZoom > startZoom) { //放大超过边界 if(endZoom >= confine && startZoom <= confine) { @@ -157,13 +157,13 @@ if(!!baiduBounds){ this.northeastLng = baiduBounds.xl.lng;//东北角经度,大一点 this.northeastLat = baiduBounds.xl.lat;//东北角纬度,大一点 this.southwestLng = baiduBounds.Ol.lng;//西北角经度坐标,小一点 this.southwestLat = baiduBounds.Ol.lat;//西北角纬度坐标,小一点 this.southwestLng = baiduBounds.Ol.lng;//西南角经度坐标,小一点 this.southwestLat = baiduBounds.Ol.lat;//西南角经度坐标,小一点 }else{ this.northeastLng = null;//东北角经度,大一点 this.northeastLat = null;//东北角纬度,大一点 this.southwestLng = null;//西北角经度坐标,小一点 this.southwestLat = null;//西北角纬度坐标,小一点 this.southwestLng = null;//西南角经度坐标,小一点 this.southwestLat = null;//西南角经度坐标,小一点 } } moralMap.getBounds = function() { @@ -208,9 +208,10 @@ } moralMap.addOverlay = function(overlay) { if(overlay.getMap() != baiduMap) { setTimeout(function(){ // setTimeout(function(){ baiduMap.addOverlay.call(baiduMap, overlay); },10); // },10); baiduMap.addOverlay.call(baiduMap, overlay); } } moralMap.addOverlays = function(overlays) { @@ -221,8 +222,16 @@ } } moralMap.removeOverlay = function() { moralMap.removeOverlay = function(overlay) { // baiduMap.removeOverlay(overlay); baiduMap.removeOverlay.apply(baiduMap, arguments); } moralMap.removeOverlays = function(overlays) { if(overlays != null && typeof overlays == 'object') { for (var i in overlays) { moralMap.removeOverlay(overlays[i]); } } } moralMap.getOverlays = function() { var overLays = baiduMap.getOverlays.apply(baiduMap, arguments) @@ -828,9 +837,12 @@ delete moralMap['_equipments']; } } moralMap.getZooMConfine = function() { moralMap.getZoomConfine = function() { return 18; } moralMap.getZoom = function() { return baiduMap.getZoom(); } moralMap.getHorizonMarkers = function(isShow) { var bounds = moralMap.getBounds(); var oldMarkerList; src/main/webapp/js/utils.js
@@ -1,4 +1,4 @@ //paraName 等找参数的名称 //paraName 参数的名称 function getUrlParam(paraName) { var url = document.location.toString(); var arrObj = url.split("?"); src/main/webapp/view/map.jsp
@@ -437,10 +437,55 @@ paramMap["Le"]= bounds.southwestLng;//西北角经度坐标,小一点 loadLazy("getMonitorpointList",paramMap,addOverMpoints); startRefreshPage(); showGrid(); }); //地图加载完成后 加载监控点,速度慢 moralMap.addEventListener("tilesloaded", function(type, target) { showGrid(); }); //map为地图对象 // TODO 临时 function bs() { var bs = moralMap.getBounds(); //获取当前地图范围的经纬度 // var bssw = bs.getSouthWest(); //获取西南角的经纬度(左下端点) // var bsne = bs.getNorthEast(); //获取东北角的经纬度(右上端点) return { 'x1': bs.southwestLng, 'y1': bs.southwestLat, 'x2': bs.northeastLng, 'y2': bs.northeastLat }; } /** * 显示网格 */ // TODO 临时 function showGrid(){ var isShowGrid = getUrlParam("isShowGrid"); if(!isShowGrid||moralMap.getZoom()<15){ return; } var XY = bs(); var polygons = []; console.log(XY); for (var i = XY.x1; i < XY.x2; i = i + 0.0063) { for (var j = XY.y2; j > XY.y1; j = j - 0.0048) { //此类表示绘制一个多边形覆盖物(注意:一定要下面的Point列表为多变形的顶点,描线顺序为从上到下,从左到右,顺序乱了,绘制出来的多边形也会乱,如图二所示,图二是将顶点的顺序给错了(网格左上端点,网格左下端点,网格右上端点,网格右下端点)) var polygon = new BMap.Polygon([ new BMap.Point(i, j), //网格左上端点 new BMap.Point(i, j-0.0048), //网格左下端点 new BMap.Point(i+0.0063, j-0.0048), //网格右下端点 new BMap.Point(i+0.0063, j) //网格右上端点 ], {strokeColor:"blue", strokeWeight:2, strokeOpacity:1, fillOpacity:0.1}); // polygon .addEventListener("click",function clickFunction(){ // alert("你居然敢点我"); // }); // moralMap.addOverlay(polygon); polygons.push(polygon); } } moralMap.addOverlays(polygons); if(!!showGrid.polygons){ moralMap.removeOverlays(showGrid.polygons); } showGrid.polygons = polygons; } // 点击事件关闭 弹窗列表 moralMap.addEventListener("click", function(type, target) { moralMap.closePopupbox("#popup_box"); @@ -450,7 +495,7 @@ //地图放大缩小事件时,关闭弹窗 moralMap.addEventListener('zoomend', function(type) { var endZoom = this.getZoom(); if(endZoom>=moralMap.getZooMConfine()){//超过界限加载设备 if(endZoom>=moralMap.getZoomConfine()){//超过界限加载设备 loadOverlays("get-devices",addOverEquipments); }else{ loadOverlays("get-monitorpoints",addOverMpoints); @@ -459,7 +504,7 @@ }); moralMap.addEventListener('moveend', function(type) { var endZoom = this.getZoom(); if(endZoom>=moralMap.getZooMConfine()){//超过界限加载设备 if(endZoom>=moralMap.getZoomConfine()){//超过界限加载设备 loadOverlays("get-devices",addOverEquipments); }else{ loadOverlays("get-monitorpoints",addOverMpoints);