fengxiang
2018-09-27 3c3f6b4816efe48645866a6ebc1581eb522dc229
src/main/webapp/js/moralmap.js
@@ -58,7 +58,9 @@
         style: "normal" //设置地图风格为高端黑 
      }
      map.setMapStyle(mapStyle);
      var showZoom = 12;
        var showZoom = !!arguments[2]
        && arguments[2] <=defaultParam.maxZoom
        && arguments[2] >= defaultParam.minZoom?arguments[2]:12;
        var address = arguments[0];
        var regoinNames = address.split(" ");
        var cityName = regoinNames.length>1?regoinNames[1]:regoinNames[0];
@@ -120,7 +122,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 +159,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 +210,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 +224,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)
@@ -545,7 +556,7 @@
      icon["width"] = 50;
      icon["height"] = 50;
      option["icon"] = icon;
      var moralMask = new moralMap.MoralMarker(option);
      var moralMarker = new moralMap.MoralMarker(option);
      //       var mark =new BMap.Marker(pointObj,{icon:iconObj});
      //==================infoWindow-start============================
      var infoWindow = (function() {
@@ -588,20 +599,20 @@
         }
         return new BMap.InfoWindow(getAdressOutHtml(), winOpts);
      })();
      if(moralMask["infoWindow"] == undefined) {
         moralMask["infoWindow"] = infoWindow;
      if(moralMarker["infoWindow"] == undefined) {
         moralMarker["infoWindow"] = infoWindow;
      }
      //弹窗打开和关闭
      moralMask.addEventListener("mouseover", function() {
      moralMarker.addEventListener("mouseover", function() {
         moralMap.openInfoWindow(infoWindow, this._point); //开启信息窗口
      });
      moralMask.addEventListener("mouseout", function() {
      moralMarker.addEventListener("mouseout", function() {
            moralMap.closeInfoWindow();
      });
      //==================infoWindow-end============================
      //储存监控点
      moralMap.putMpoint(option['id'], moralMask);
      return moralMask;
      moralMap.putMpoint(option['id'], moralMarker);
      return moralMarker;
   }
   //储存MonitorPoint对象
   moralMap.putMpoint = function(key, obj) {
@@ -637,7 +648,7 @@
      option["offline_height"] = 80;
      option["online_width"] = 355;
      option["online_height"] = 385;
      var moralMask = new moralMap.MoralMarker(option);
      var moralMarker = new moralMap.MoralMarker(option);
      //       var mark =new BMap.Marker(pointObj,{icon:iconObj});
      //==================infoWindow-start============================
      var infoWindow = (function() {
@@ -716,12 +727,12 @@
         }
      };
      if(moralMask["infoWindow"] == undefined) {
         moralMask["infoWindow"] = infoWindow;
      if(moralMarker["infoWindow"] == undefined) {
         moralMarker["infoWindow"] = infoWindow;
      }
        var  mouseOverHandle = option['mouseover'];
      //弹窗打开和关闭
      moralMask.addEventListener("mouseover", function() {
      moralMarker.addEventListener("mouseover", function() {
         if(mouseOverHandle!=null&&mouseOverHandle instanceof  Function){
                //将arguments转换成数组
                var args = Array.prototype.slice.call(arguments);
@@ -743,16 +754,16 @@
            infoWindow.redraw();
         }
      });
      moralMask.addEventListener("mouseout", function() {
      moralMarker.addEventListener("mouseout", function() {
         baiduMap.closeInfoWindow();
         infoWindow.setContent("");
         moralMap.openSearchBox();
      });
      //==================infoWindow-end============================
      //储存监控点
      moralMap.putEquipment(option['mac'], moralMask);
      var _super_refreshState = moralMask.refreshState;
      return $.extend(moralMask, {
      moralMap.putEquipment(option['mac'], moralMarker);
      var _super_refreshState = moralMarker.refreshState;
      return $.extend(moralMarker, {
         refreshState: function(data) {
            if(data != null && data!="") {
                   var state = this.getOption()["state"];
@@ -828,9 +839,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;