| | |
| | | function _getMapIcon(state) { |
| | | state = state == null ? 0 : state; |
| | | var icon = _option["icon"]; |
| | | var url = icon["stateIcons"][state]; |
| | | //var url = icon["stateIcons"][state]; |
| | | var url = icon["url"] + state + ".png"; |
| | | return new BMap.Icon(url, new BMap.Size(icon["width"], icon["height"]), { |
| | | imageSize: new BMap.Size(icon["width"], icon["height"]) |
| | | }); |
| | |
| | | //new BMap.Marker()这种写法IE7会报错,很奇葩 |
| | | moralMap.MoralMarker.prototype = new BMap.Marker(); |
| | | //监控点对象 包装Mark对象 |
| | | var showMonitorpointInfoWindow = null; |
| | | moralMap.Monitorpoint = function(option) { |
| | | if(monitorPointStates){ |
| | | for(var i in monitorPointStates){ |
| | | var state = monitorPointStates[i]; |
| | | if(state.id == option.id){ |
| | | option.state = state.state; |
| | | } |
| | | } |
| | | } |
| | | var icon = {}; |
| | | icon["stateIcons"] = ["/img/ico00.png", "/img/ico01.png", "/img/ico02.png", "/img/ico03.png", "/img/ico04.png"]; |
| | | icon["url"] = "/img/ico0"; |
| | | icon["width"] = 50; |
| | | icon["height"] = 50; |
| | | option["icon"] = icon; |
| | |
| | | } |
| | | return new BMap.InfoWindow(getAdressOutHtml(), winOpts); |
| | | })(); |
| | | if (!showMonitorpointInfoWindow) { |
| | | showMonitorpointInfoWindow = infoWindow; |
| | | } |
| | | if(moralMarker["infoWindow"] == undefined) { |
| | | moralMarker["infoWindow"] = infoWindow; |
| | | } |
| | |
| | | } |
| | | //设备以mac为key储存 |
| | | //监控点对象 包装MoralMark对象 |
| | | var showEquipmentInfoWindow = null; |
| | | moralMap.Equipment = function(option) { |
| | | if(deviceStates){ |
| | | for(var i in deviceStates){ |
| | | var state = deviceStates[i]; |
| | | if(state.id == option.id){ |
| | | option.state = state.state; |
| | | } |
| | | } |
| | | } |
| | | var icon = {}; |
| | | icon["stateIcons"] = ["/img/ico_coo00.png", "/img/ico_coo01.png", "/img/ico_coo02.png", "/img/ico_coo03.png", "/img/ico_coo04.png"]; |
| | | icon["url"] = "/img/ico_coo0"; |
| | | icon["width"] = 50; |
| | | icon["height"] = 60; |
| | | option["icon"] = icon; |
| | |
| | | } |
| | | return new BMap.InfoWindow(getAdressOutHtml(), winOpts); |
| | | })(); |
| | | if (!showEquipmentInfoWindow) { |
| | | showEquipmentInfoWindow = infoWindow; |
| | | } |
| | | |
| | | |
| | | /*var infoWindow = (function() { |
| | | //生成信息框 |
| | | var winOpts = { |
| | |
| | | } |
| | | |
| | | 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") { |
| | | var parma={}; |
| | | parma["layer"] = "equipments"; |
| | | parma["markerKeys"] = [condition.mac]; |
| | | parma["areaCode"] = moralMap['params']["areaCode"]; |
| | | parma["orgId"] = moralMap['params']["orgId"]; |
| | | baiduMap.setZoom(18); |
| | | //condition.data = {}; |
| | | new moralMap.Equipment(condition); |
| | | moralMap.openInfoWindow(showEquipmentInfoWindow, new_point); |
| | | showEquipmentInfoWindow = null; |
| | | /*$.ajax({ |
| | | type: "post", |
| | | url: "get-real-state-data", |
| | | data:JSON.stringify(parma), |
| | | dataType:"json", |
| | | contentType:"application/json;charset=utf-8", |
| | | cache: false, |
| | | async: true, |
| | | success: function(data) { |
| | | |
| | | } |
| | | });*/ |
| | | var new_point = new BMap.Point(condition.longitude, condition.latitude); |
| | | baiduMap.panTo(new_point); |
| | | baiduMap.setCenter(new_point); |
| | | baiduMap.setZoom(condition.type == "mpoint" ? 17 : 18); |
| | | var interval = setInterval(function(){ |
| | | var marker; |
| | | if (condition.type == "mpoint") { |
| | | marker = moralMap.getMpoint(condition.id); |
| | | } else if (condition.type == "device") { |
| | | marker = moralMap.getEquipment(condition.mac); |
| | | } |
| | | if(marker){ |
| | | clearInterval(interval); |
| | | moralMap.openInfoWindow(marker["infoWindow"], new_point); |
| | | } |
| | | }, 50); |
| | | |
| | | } |
| | | |
| | | var deviceStates ; |
| | | var monitorPointStates; |
| | | moralMap.refreshState = function(states) { |
| | | if (!monitorPointStates) { |
| | | monitorPointStates = states; |
| | | deviceStates = []; |
| | | for (var i in states) { |
| | | var state = states[i]; |
| | | for (var j in state.devices) { |
| | | var device = state.devices[j]; |
| | | deviceStates.push(device); |
| | | } |
| | | } |
| | | } |
| | | for (var i in states) { |
| | | var state = states[i]; |
| | | var mpoint = moralMap.getMpoint(state.id); |
| | | if (mpoint) { |
| | | mpoint.refreshState(state.state); |
| | | } |
| | | for (var j in state.devices) { |
| | | var marker = state.devices[j]; |
| | | var marker_mac = marker["mac"]; |
| | | var equipment = moralMap.getEquipment(marker_mac); |
| | | if (equipment) { |
| | | equipment.refreshState(marker); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |