xufenglei
2018-11-09 4fdc4a6da681223148849a9b2eaf90227a56148a
地图 更改从列表定位
2 files modified
56 ■■■■ changed files
src/main/webapp/js/moralmap.js 32 ●●●●● patch | view | raw | blame | history
src/main/webapp/view/map.jsp 24 ●●●●● patch | view | raw | blame | history
src/main/webapp/js/moralmap.js
@@ -550,6 +550,7 @@
    //new BMap.Marker()这种写法IE7会报错,很奇葩
    moralMap.MoralMarker.prototype = new BMap.Marker();
    //监控点对象 包装Mark对象
    var showMonitorpointInfoWindow = null;
    moralMap.Monitorpoint = function(option) {
        var icon = {};
        icon["stateIcons"] = ["/img/ico00.png", "/img/ico01.png", "/img/ico02.png", "/img/ico03.png", "/img/ico04.png"];
@@ -593,12 +594,15 @@
                adressOutHtml += "<tbody><tr><td style='vertical-align:top;width:38px;white-space:nowrap;word-break:keep-all'>地址:&nbsp;</td><td style='line-height:16px'>";
                adressOutHtml += address + "&nbsp;";
                adressOutHtml += "</td></tr>";
                adressOutHtml += "<tr><td style='width:98%;padding-top:10px;'colspan='2'><a href='javascript:void(0);' style='display:block;position: relative;float: right;' onclick='moralMap.showPointMonitor("+option.id+")'>实时数据>></a></td></tr>";
                //adressOutHtml += "<tr><td style='width:98%;padding-top:10px;'colspan='2'><a href='javascript:void(0);' style='display:block;position: relative;float: right;' onclick='moralMap.showPointMonitor("+option.id+")'>实时数据>></a></td></tr>";
                adressOutHtml += "</tbody></table></div>";
                return adressOutHtml;
            }
            return new BMap.InfoWindow(getAdressOutHtml(), winOpts);
        })();
        if (!showMonitorpointInfoWindow) {
            showMonitorpointInfoWindow = infoWindow;
        }
        if(moralMarker["infoWindow"] == undefined) {
            moralMarker["infoWindow"] = infoWindow;
        }
@@ -638,6 +642,7 @@
    }
    //设备以mac为key储存
    //监控点对象 包装MoralMark对象
    var showEquipmentInfoWindow = null;
    moralMap.Equipment = function(option) {
        var icon = {};
        icon["stateIcons"] = ["/img/ico_coo00.png", "/img/ico_coo01.png", "/img/ico_coo02.png", "/img/ico_coo03.png", "/img/ico_coo04.png"];
@@ -674,6 +679,9 @@
            }
            return new BMap.InfoWindow("", winOpts);
        })();
        if (!showEquipmentInfoWindow) {
            showEquipmentInfoWindow = infoWindow;
        }
        var dataHandle = {
            _getDataOutHtml: function(data) {
                if(data==null||data["state"]==4){
@@ -902,6 +910,26 @@
            }
        }
    }
    }
    moralMap.callJS = function(condition) {
        var condition = JSON.parse(condition);
        var new_point = new BMap.Point(condition.longitude, condition.latitude);
        baiduMap.panTo(new_point);
        baiduMap.setCenter(new_point);
        if (condition.type == "mpoint") {
            baiduMap.setZoom(17);
            new moralMap.Monitorpoint(condition);
            moralMap.openInfoWindow(showMonitorpointInfoWindow, new_point);
            showMonitorpointInfoWindow = null;
        } else if (condition.type == "device") {
            baiduMap.setZoom(18);
            new moralMap.Equipment(condition);
            moralMap.openInfoWindow(showEquipmentInfoWindow, new_point);
            showEquipmentInfoWindow = null;
        }
    }
    window.moralMap = moralMap;
})(jQuery, BMap, window);
src/main/webapp/view/map.jsp
@@ -278,14 +278,14 @@
            <div class="charts_btn">
            </div>
        </div>
        <div class="search_box">
        <!-- <div class="search_box">
        <button id="searchBtn" type="button">搜索</button>
        <input id="searchParam"/>
        </div>
      <div id="popup_box">
            <div id="equ_list" class="listview">
            </div>
      </div>
      </div> -->
      <div id="mapCanvas"></div>
      <div id="mapParams" style="display: none;">
          ${requestScope.mapParams}
@@ -316,10 +316,10 @@
        var params = moralMap['params'];
        var mpoint = obj.currentTarget.getOption();
        $("#searchParam").val(mpoint['name']);
        //$("#searchParam").val(mpoint['name']);
        var url = 'get-devices-by-mid-oid?mpId=' + mpoint['id'] + "&orgId=" + params['orgId'];
        listView.load(url); 
        moralMap.showPopupbox("#popup_box");
        //moralMap.showPopupbox("#popup_box");
    }
    function loadLazy(url,paramMap,callBack,lazyKeyer){
        if(lazyKeyer==undefined){
@@ -508,7 +508,7 @@
    }
    // 点击事件关闭 弹窗列表
    moralMap.addEventListener("click", function(type, target) {
        moralMap.closePopupbox("#popup_box");
        //moralMap.closePopupbox("#popup_box");
    });
    //地图放大缩小事件时,关闭弹窗
    moralMap.addEventListener('zoomstart', function(type) {});
@@ -520,7 +520,7 @@
         }else{
                loadOverlays("get-monitorpoints",addOverMpoints);
         }
         moralMap.closePopupbox("#popup_box");
         //moralMap.closePopupbox("#popup_box");
    });
    moralMap.addEventListener('moveend', function(type) {
         var endZoom = this.getZoom();
@@ -529,13 +529,13 @@
         }else{
                loadOverlays("get-monitorpoints",addOverMpoints);
         }
         moralMap.closePopupbox("#popup_box");
         //moralMap.closePopupbox("#popup_box");
    });
    //搜索框单击事件
    $("#searchBtn").click(
        function(e) {
            var param = encodeURI($("#searchParam").val());
            moralMap.showPopupbox("#popup_box");
            //moralMap.showPopupbox("#popup_box");
            var url = 'get-devices-for-popup?name=' + param + "&orgId=" + params['orgId'];
            listView.load(url); 
        }
@@ -582,12 +582,12 @@
    //刷新页面
    function refreshAllState() {
        var parma={};
        if(moralMap.isPopupBoxShow("#popup_box")) {
        /* if(moralMap.isPopupBoxShow("#popup_box")) {
            var popupEquMacs = moralMap.getPopupEquMacs();
            if(popupEquMacs!=null&&popupEquMacs.length>0){
                parma["popupEquMacs"] = popupEquMacs;
            }
        }
        } */
        //从缓存取
        var oldMarkerList = moralMap.getHorizonMarkers(true);
        var markerKeys = [];
@@ -651,4 +651,8 @@
            });
        }
    }
    function callJS(jsonData){
        moralMap.callJS(jsonData);
    }
</script>