From d903f312cf6a1d0fc4c5745832a9d6fa681e5141 Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Tue, 30 Jun 2020 09:16:07 +0800 Subject: [PATCH] update(无组织排放) --- src/main/webapp/view/unorganizedMap.jsp | 107 ++++++++--- src/main/webapp/img/wind_dir01.png | 0 src/main/webapp/img/wind_dir02.png | 0 src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 375 +++++++++++++++++++++-------------------- src/main/webapp/img/arrows01.png | 0 src/main/webapp/img/arrows02.png | 0 6 files changed, 270 insertions(+), 212 deletions(-) diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java index e3aa674..3f1f427 100644 --- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java +++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java @@ -518,215 +518,228 @@ List<Map> windList = new ArrayList<Map>();//��������������������������������������� Map<String, Object> jsonMap = new HashMap<String, Object>();//��������������������� Map<String, Object> deviceMap = null; - for (Device device : deviceList) { - deviceMap = new HashMap<String, Object>(); - smac = device.getMac(); - latitude = device.getLatitude(); - longitude = device.getLongitude(); + if (deviceList.size()>1){ + for (Device device : deviceList) { + deviceMap = new HashMap<String, Object>(); + smac = device.getMac(); + latitude = device.getLatitude(); + longitude = device.getLongitude(); - jsonMap = historyHourlyService.getDataByMac(smac, Time); - deviceMap.put("longitude", longitude); - deviceMap.put("latitude", latitude); - if (jsonMap != null) { - deviceMap.put("jsonMap", jsonMap); - } else { - deviceMap.put("jsonMap", "������������������������������"); - } - - list.add(deviceMap); - } - Map<String, Object> mapData = new HashMap<String, Object>(); - Map<String, Object> mapDevice; - JSONArray windDir; - for (Map<String, Object> objectMap : list) { - mapDevice = new HashMap<String, Object>(); - Map<String, Object> map = null; - if (!(objectMap.get("jsonMap") instanceof String)) { - mapData = (Map<String, Object>) objectMap.get("jsonMap"); - map = (Map) JSON.parseObject((String) mapData.get("json")); - windDir = (JSONArray) JSONArray.toJSON(map.get("e23")); - JSONArray concentration = (JSONArray) JSONArray.toJSON(map.get(sensor)); - - BigDecimal bigDecimal1=new BigDecimal(0); - BigDecimal bigDecimal=new BigDecimal(0); - if (concentration!=null){ - if (concentration.get(0) instanceof Integer){ - bigDecimal1 =new BigDecimal(concentration.get(0).toString()); - }else { - bigDecimal1= (BigDecimal) concentration.get(0); - } - if (windDir!=null){ - if (windDir.get(0) instanceof Integer){ - bigDecimal =new BigDecimal(windDir.get(0).toString()); - }else { - bigDecimal=(BigDecimal) windDir.get(0); - } - mapDevice.put("e23", bigDecimal.doubleValue()); - mapDevice.put("sensor", bigDecimal1.doubleValue()); - mapDevice.put("longitude", objectMap.get("longitude")); - mapDevice.put("latitude", objectMap.get("latitude")); - }else { - mapDevice.put("noSensor", "���������������"); - mapDevice.put("longitude", objectMap.get("longitude")); - mapDevice.put("latitude", objectMap.get("latitude")); - } + jsonMap = historyHourlyService.getDataByMac(smac, Time); + deviceMap.put("longitude", longitude); + deviceMap.put("latitude", latitude); + if (jsonMap != null) { + deviceMap.put("jsonMap", jsonMap); + } else { + deviceMap.put("jsonMap", "������������������������������"); } - } else { - mapDevice.put("info", objectMap.get("jsonMap")); - mapDevice.put("longitude", objectMap.get("longitude")); - mapDevice.put("latitude", objectMap.get("latitude")); - } - windList.add(mapDevice); - } - // if (windDir!=null){} - Double differenceNum = 0.0; - Map<String, Object> indexMap; - List<Map> mapList = new ArrayList<>(); - for (int j = 0; j < windList.size(); j++) { - for (int k = 0; k < windList.size(); k++) { - if (k != j) { - indexMap = new HashMap<String, Object>(); - if (windList.get(k).containsKey("e23") && windList.get(j).containsKey("e23")) { - Double e23Numk = (Double) windList.get(k).get("e23"); - Double e23Numj = (Double) windList.get(j).get("e23"); - Double diff = e23Numk - e23Numj; - BigDecimal b = new BigDecimal(Math.abs(diff)); - differenceNum = b.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); - if (differenceNum > 180) { - differenceNum = 360 - differenceNum; + list.add(deviceMap); + } + Map<String, Object> mapData = new HashMap<String, Object>(); + Map<String, Object> mapDevice; + JSONArray windDir; + for (Map<String, Object> objectMap : list) { + mapDevice = new HashMap<String, Object>(); + Map<String, Object> map = null; + if (!(objectMap.get("jsonMap") instanceof String)) { + mapData = (Map<String, Object>) objectMap.get("jsonMap"); + map = (Map) JSON.parseObject((String) mapData.get("json")); + windDir = (JSONArray) JSONArray.toJSON(map.get("e23")); + JSONArray concentration = (JSONArray) JSONArray.toJSON(map.get(sensor)); + + BigDecimal bigDecimal1=new BigDecimal(0); + BigDecimal bigDecimal=new BigDecimal(0); + if (concentration!=null){ + if (concentration.get(0) instanceof Integer){ + bigDecimal1 =new BigDecimal(concentration.get(0).toString()); + }else { + bigDecimal1= (BigDecimal) concentration.get(0); } - indexMap.put("k", k); - indexMap.put("j", j); - indexMap.put("diff", differenceNum); - } else { - indexMap.put("k", k); - indexMap.put("j", j); - indexMap.put("info", "���������������"); + if (windDir!=null){ + if (windDir.get(0) instanceof Integer){ + bigDecimal =new BigDecimal(windDir.get(0).toString()); + }else { + bigDecimal=(BigDecimal) windDir.get(0); + } + mapDevice.put("e23", bigDecimal.doubleValue()); + mapDevice.put("sensor", bigDecimal1.doubleValue()); + mapDevice.put("longitude", objectMap.get("longitude")); + mapDevice.put("latitude", objectMap.get("latitude")); + }else { + mapDevice.put("noSensor", "���������������"); + mapDevice.put("longitude", objectMap.get("longitude")); + mapDevice.put("latitude", objectMap.get("latitude")); + } } + } else { + mapDevice.put("info", objectMap.get("jsonMap")); + mapDevice.put("longitude", objectMap.get("longitude")); + mapDevice.put("latitude", objectMap.get("latitude")); + } + windList.add(mapDevice); + } + // if (windDir!=null){} + Double differenceNum = 0.0; + Map<String, Object> indexMap; + List<Map> mapList = new ArrayList<>(); + for (int j = 0; j < windList.size(); j++) { + for (int k = 0; k < windList.size(); k++) { + if (k != j) { + indexMap = new HashMap<String, Object>(); + if (windList.get(k).containsKey("e23") && windList.get(j).containsKey("e23")) { + Double e23Numk = (Double) windList.get(k).get("e23"); + Double e23Numj = (Double) windList.get(j).get("e23"); + Double diff = e23Numk - e23Numj; + BigDecimal b = new BigDecimal(Math.abs(diff)); + + differenceNum = b.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue(); + if (differenceNum > 180) { + differenceNum = 360 - differenceNum; + } + indexMap.put("k", k); + indexMap.put("j", j); + indexMap.put("diff", differenceNum); + } else { + indexMap.put("k", k); + indexMap.put("j", j); + indexMap.put("info", "���������������"); + } // indexMap.put("longitude",windList.get(k).get("longitude")); // indexMap.put("latitude",windList.get(k).get("latitude")); - mapList.add(indexMap); - } else { - continue; - } + mapList.add(indexMap); + } else { + continue; + } + } } - } - Double min = 0.0; - int indexMin = 0; - if (mapList.size()>0){ - if (mapList.get(0).containsKey("diff")) { - min = (Double) mapList.get(0).get("diff"); - for (int q = 1; q < mapList.size(); q++) { - if (mapList.get(q).containsKey("diff")) { - if (min > (Double) mapList.get(q).get("diff")) { - min = (Double) mapList.get(q).get("diff"); + Double min = 0.0; + int indexMin = 0; + if (mapList.size()>0){ + if (mapList.get(0).containsKey("diff")) { + min = (Double) mapList.get(0).get("diff"); + for (int q = 1; q < mapList.size(); q++) { + if (mapList.get(q).containsKey("diff")) { + if (min > (Double) mapList.get(q).get("diff")) { + min = (Double) mapList.get(q).get("diff"); + indexMin = q; + } + } else { indexMin = q; } - } else { - indexMin = q; } } } - } - Map twoDeviceMap = mapList.get(indexMin); - List<Map> list1 = new ArrayList<Map>(); //��������������������������������������������������� - list1.add(windList.get((Integer) twoDeviceMap.get("k"))); - list1.add(windList.get((Integer) twoDeviceMap.get("j"))); - Double wind = 0.0; - Double sum = 0.0; - if (list1.get(0).containsKey("e23")) { - if (Math.abs((Double) list1.get(0).get("e23") - (Double) list1.get(1).get("e23")) > 180) { - sum = (Double) list1.get(0).get("e23") + (Double) list1.get(1).get("e23"); - wind = sum / 2 + 180; - if (wind > 360) { - wind = wind - 360; + Map twoDeviceMap = mapList.get(indexMin); + List<Map> list1 = new ArrayList<Map>(); //��������������������������������������������������� + list1.add(windList.get((Integer) twoDeviceMap.get("k"))); + list1.add(windList.get((Integer) twoDeviceMap.get("j"))); + + Double wind = 0.0; + Double sum = 0.0; + if (list1.get(0).containsKey("e23")) { + if (Math.abs((Double) list1.get(0).get("e23") - (Double) list1.get(1).get("e23")) > 180) { + sum = (Double) list1.get(0).get("e23") + (Double) list1.get(1).get("e23"); + wind = sum / 2 + 180; + if (wind > 360) { + wind = wind - 360; + } + } else { + for (Map map : list1) { + sum += (Double) map.get("e23"); + } + wind = sum / 2; } } else { - for (Map map : list1) { - sum += (Double) map.get("e23"); - } - wind = sum / 2; + wind = 0.0; } - } else { - wind = 0.0; - } - Map<String, Object> longAndLatiMap; - List<Map> longAndLatiList = new ArrayList<>();//������������������������������������windList������������������������������������������������������������������ - List<Map> preAngleDeviceList = new ArrayList<Map>(); //��������������������������������������� - if (wind != 0.0) { - for (int f = 0; f < windList.size(); f++) { - for (int h = 0; h < windList.size(); h++) { - if (f != h) { - longAndLatiMap = new HashMap<String, Object>(); - longAndLatiMap.put("h", h); - longAndLatiMap.put("f", f); - Double angle = mapUtils.getAngle( - new MyLatLng((Double) windList.get(h).get("longitude"), - (Double) windList.get(h).get("latitude")), - new MyLatLng((Double) windList.get(f).get("longitude"), - (Double) windList.get(f).get("latitude"))); - Double angleDiff = Math.abs(angle - wind); - longAndLatiMap.put("angle", angleDiff); - longAndLatiList.add(longAndLatiMap); + Map<String, Object> longAndLatiMap; + List<Map> longAndLatiList = new ArrayList<>();//������������������������������������windList������������������������������������������������������������������ + List<Map> preAngleDeviceList = new ArrayList<Map>(); //��������������������������������������� + if (wind != 0.0) { + for (int f = 0; f < windList.size(); f++) { + for (int h = 0; h < windList.size(); h++) { + if (f != h) { + longAndLatiMap = new HashMap<String, Object>(); + longAndLatiMap.put("h", h); + longAndLatiMap.put("f", f); + Double angle = mapUtils.getAngle( + new MyLatLng((Double) windList.get(h).get("longitude"), + (Double) windList.get(h).get("latitude")), + new MyLatLng((Double) windList.get(f).get("longitude"), + (Double) windList.get(f).get("latitude"))); + Double angleDiff = Math.abs(angle - wind); + longAndLatiMap.put("angle", angleDiff); + longAndLatiList.add(longAndLatiMap); + } } } - } - Double minAngle = (Double) longAndLatiList.get(0).get("angle"); - int indexAngle = 0; - for (int j = 0; j < longAndLatiList.size(); j++) { - if (minAngle > (Double) longAndLatiList.get(j).get("angle")) { - minAngle = (Double) longAndLatiList.get(j).get("angle"); - indexAngle = j; + Double minAngle = (Double) longAndLatiList.get(0).get("angle"); + int indexAngle = 0; + for (int j = 0; j < longAndLatiList.size(); j++) { + if (minAngle > (Double) longAndLatiList.get(j).get("angle")) { + minAngle = (Double) longAndLatiList.get(j).get("angle"); + indexAngle = j; + } } + //windList.get((Integer) longAndLatiList.get(indexAngle).get("f"))������������������������ + preAngleDeviceList.add(windList.get((Integer) longAndLatiList.get(indexAngle).get("h"))); + preAngleDeviceList.add(windList.get((Integer) longAndLatiList.get(indexAngle).get("f"))); + + Double length = mapUtils.getDistance((Double) preAngleDeviceList.get(0).get("longitude"), (Double) preAngleDeviceList.get(0).get("latitude"), + (Double) preAngleDeviceList.get(1).get("longitude"), (Double) preAngleDeviceList.get(1).get("latitude")); + Double subLength = length/5; + Double subLength1 = length/6.1; + Double angle = mapUtils.getAngle( + new MyLatLng((Double) preAngleDeviceList.get(0).get("longitude"), + (Double) preAngleDeviceList.get(0).get("latitude")), + new MyLatLng((Double) preAngleDeviceList.get(1).get("longitude"), + (Double) preAngleDeviceList.get(1).get("latitude"))); + + params.put("preAngleDeviceList", preAngleDeviceList); + params.put("angle", angle); + List locationList = new ArrayList(); + String[] firstLocation = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, (Double) preAngleDeviceList.get(0).get("longitude"), + (Double) preAngleDeviceList.get(0).get("latitude"), subLength); + String[] secondLoction = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, Double.parseDouble(firstLocation[0]), + Double.parseDouble(firstLocation[1]), subLength); + String[] thirdLocation = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, Double.parseDouble(secondLoction[0]), + Double.parseDouble(secondLoction[1]), subLength); + String[] fourthLoction = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, Double.parseDouble(thirdLocation[0]), + Double.parseDouble(thirdLocation[1]), subLength); + String[] fivethLoction = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, Double.parseDouble(fourthLoction[0]), + Double.parseDouble(fourthLoction[1]), subLength1); + locationList.add(firstLocation); + locationList.add(secondLoction); + locationList.add(thirdLocation); + locationList.add(fourthLoction); + locationList.add(fivethLoction); + params.put("locationList", locationList); + + String preAngleDeviceString = JSON.toJSON(preAngleDeviceList).toString(); + params.put("preAngleDeviceString", preAngleDeviceString);//��������������������������� + } else { + params.put("preAngleDeviceString", 0); } - //windList.get((Integer) longAndLatiList.get(indexAngle).get("f"))������������������������ - preAngleDeviceList.add(windList.get((Integer) longAndLatiList.get(indexAngle).get("h"))); - preAngleDeviceList.add(windList.get((Integer) longAndLatiList.get(indexAngle).get("f"))); - - Double length = mapUtils.getDistance((Double) preAngleDeviceList.get(0).get("longitude"), (Double) preAngleDeviceList.get(0).get("latitude"), - (Double) preAngleDeviceList.get(1).get("longitude"), (Double) preAngleDeviceList.get(1).get("latitude")); - Double subLength = length / 5; - Double angle = mapUtils.getAngle( - new MyLatLng((Double) preAngleDeviceList.get(0).get("longitude"), - (Double) preAngleDeviceList.get(0).get("latitude")), - new MyLatLng((Double) preAngleDeviceList.get(1).get("longitude"), - (Double) preAngleDeviceList.get(1).get("latitude"))); - - params.put("preAngleDeviceList", preAngleDeviceList); - params.put("angle", angle); - List locationList = new ArrayList(); - String[] firstLocation = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, (Double) preAngleDeviceList.get(0).get("longitude"), - (Double) preAngleDeviceList.get(0).get("latitude"), subLength); - String[] secondLoction = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, Double.parseDouble(firstLocation[0]), - Double.parseDouble(firstLocation[1]), subLength); - String[] thirdLocation = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, Double.parseDouble(secondLoction[0]), - Double.parseDouble(secondLoction[1]), subLength); - String[] fourthLoction = mapUtils.calLocationByDistanceAndLocationAndDirection(angle, Double.parseDouble(thirdLocation[0]), - Double.parseDouble(thirdLocation[1]), subLength); - locationList.add(firstLocation); - locationList.add(secondLoction); - locationList.add(thirdLocation); - locationList.add(fourthLoction); - params.put("locationList", locationList); - - String preAngleDeviceString = JSON.toJSON(preAngleDeviceList).toString(); - params.put("preAngleDeviceString", preAngleDeviceString);//��������������������������� - } else { - params.put("preAngleDeviceString", ""); + params.put("wind", wind); + //String preAngleDeviceString=preAngleDeviceList. + params.put("deviceList", deviceList); + }else { + if (deviceList.size()!=0){ + params.put("deviceList", deviceList.get(0)); + }else { + params.put("deviceList",""); + } + params.put("preAngleDeviceString", 1); + params.put("locationList", ""); } - //String preAngleDeviceString=preAngleDeviceList. - params.put("wind", wind); - params.put("list1", list1); - params.put("deviceList", deviceList); params.put("latitudeCompany", latitudeCompany); params.put("longitudeCompany", longitudeCompany); } - return params; } diff --git a/src/main/webapp/img/arrows01.png b/src/main/webapp/img/arrows01.png new file mode 100644 index 0000000..fc9c76c --- /dev/null +++ b/src/main/webapp/img/arrows01.png Binary files differ diff --git a/src/main/webapp/img/arrows02.png b/src/main/webapp/img/arrows02.png new file mode 100644 index 0000000..e9ef6e8 --- /dev/null +++ b/src/main/webapp/img/arrows02.png Binary files differ diff --git a/src/main/webapp/img/wind_dir01.png b/src/main/webapp/img/wind_dir01.png new file mode 100644 index 0000000..bd0104e --- /dev/null +++ b/src/main/webapp/img/wind_dir01.png Binary files differ diff --git a/src/main/webapp/img/wind_dir02.png b/src/main/webapp/img/wind_dir02.png new file mode 100644 index 0000000..9a62ae8 --- /dev/null +++ b/src/main/webapp/img/wind_dir02.png Binary files differ diff --git a/src/main/webapp/view/unorganizedMap.jsp b/src/main/webapp/view/unorganizedMap.jsp index 36d05f0..a3365c8 100644 --- a/src/main/webapp/view/unorganizedMap.jsp +++ b/src/main/webapp/view/unorganizedMap.jsp @@ -17,16 +17,16 @@ } #box { width:300px; - height:100px; + height:500px; top:80px; - left:30px; + right:30px; position:absolute; z-index:1; - border:0px solid red; - background-color:#f5f3f0; + border:2px solid red; + background-color:gainsboro; opacity: 0.8; } - #cpm { + #cpm,#cpm1{ width: 300px; height: 100px; position: absolute; @@ -57,11 +57,22 @@ <title>������������</title> </head> <body> -<div id="cpm">������������������������������������������������������</div> +<div id="cpm">���������������������������������������������������������������</div> +<div id="cpm1">������������������������������������������������������������</div> <div id="allmap" style="z-index: 0" ;> </div> <div id="box"> - <p style="text-indent: 2em;line-height: 25px;color: red">������������������������������������������������������������������������������������������������������������</p> + <p> + <img src="/img/wind_dir02.png" style="width: 30px;height: 45px;margin-left: 20px;"/> <span style="position: relative;top: -9px;"> ���������(������������������������������)</span> + </p> + <p> + <img src="/img/arrows01.png" style="margin-left: 20px;transform:rotate(90deg);width: 30px;height: 60px;"/> <span style="position: relative;top: -25px;"> ���������������������</span> + </p> + <p> + <img src="/img/arrows02.png" style="width: 30px;height: 60px;margin-left: 20px;transform:rotate(90deg);"/> <span style="position: relative;top: -25px;"> ���������������������</span> + </p> + + <p style="text-indent: 1em;line-height: 25px;color: red" id="alarm">���������������<span id="diff" ></span></br></br> ���������������������������������������������������������������������</p> </div> <div id="mapParams" style="display: none;"> ${requestScope.params} @@ -80,15 +91,45 @@ map.centerAndZoom(point, 18.5); // ���������������,������������������������������������ var device1 = params["deviceList"]; var preAngleDeviceString = params["preAngleDeviceString"]; - var wind = params["wind"]; var devices=[]; var locationList=params["locationList"]; - + var wind=params["wind"]; var color; - if (preAngleDeviceString!=""){ - var preAngleDeviceList=JSON.parse(preAngleDeviceString); + + //������������������������ + map.addControl(new BMap.MapTypeControl({ + mapTypes: [ + BMAP_HYBRID_MAP, + BMAP_NORMAL_MAP + ] + })); + map.setMapType(BMAP_HYBRID_MAP); + if (device1 != null) { + if(device1.length>1){ + for (var i = 0; i < device1.length; i++) { + var icon1 = new BMap.Icon("/img/ico00.png", new BMap.Size(48, 48)); + var mark1 = new BMap.Marker(new BMap.Point(device1[i].longitude, device1[i].latitude), {icon: icon1}); + devices.push( new BMap.Point(device1[i].longitude, device1[i].latitude)); + map.addOverlay(mark1); + } + }else { + var icon1 = new BMap.Icon("/img/ico00.png", new BMap.Size(48, 48)); + var mark1 = new BMap.Marker(new BMap.Point(device1.longitude, device1.latitude), {icon: icon1}); + devices.push( new BMap.Point(device1.longitude, device1.latitude)); + map.addOverlay(mark1); + $("#alarm").css("visibility","hidden"); + } + + } + var preAngleDeviceList=""; + if (preAngleDeviceString!=0 &&preAngleDeviceString!=1){ + preAngleDeviceList=JSON.parse(preAngleDeviceString); var diff=preAngleDeviceList[0].sensor-preAngleDeviceList[1].sensor; + var diffSensor=preAngleDeviceList[1].sensor-preAngleDeviceList[0].sensor; + diffSensor=String(diffSensor).replace(/^(.*\..{4}).*$/,"$1"); + var info=""; if (diff>0){ + info="������������������"; var polyline = new BMap.Polyline([ new BMap.Point(preAngleDeviceList[0].longitude, preAngleDeviceList[0].latitude), new BMap.Point(locationList[0][0],locationList[0][1]) @@ -111,13 +152,14 @@ map.addOverlay(polyline3); //������������ var polyline4 = new BMap.Polyline([ new BMap.Point(locationList[3][0],locationList[3][1]), - new BMap.Point(preAngleDeviceList[1].longitude, preAngleDeviceList[1].latitude) + new BMap.Point(locationList[4][0],locationList[4][1]) ], {strokeColor:"Gold", strokeWeight:8, strokeOpacity:0.5}); //������������ map.addOverlay(polyline4); //������������ var arrowLineList = new Array();//������������������������ color="Gold"; arrowLineList[arrowLineList.length] = addArrow(polyline4,30,Math.PI/7,color);//������������������������ } else { + info="������������������"; var polyline = new BMap.Polyline([ new BMap.Point(preAngleDeviceList[0].longitude, preAngleDeviceList[0].latitude), new BMap.Point(locationList[0][0],locationList[0][1]) @@ -140,34 +182,37 @@ map.addOverlay(polyline3); //������������ var polyline4 = new BMap.Polyline([ new BMap.Point(locationList[3][0],locationList[3][1]), - new BMap.Point(preAngleDeviceList[1].longitude, preAngleDeviceList[1].latitude) + new BMap.Point(locationList[4][0],locationList[4][1]) ], {strokeColor:"red", strokeWeight:8, strokeOpacity:0.5}); //������������ map.addOverlay(polyline4); //������������ var arrowLineList = new Array();//������������������������ color="red"; arrowLineList[arrowLineList.length] = addArrow(polyline4,28,Math.PI/7,color);//������������������������ } - }else { - document.getElementById("cpm").style.display = 'block'; - } - if (device1 != null) { - for (var i = 0; i < device1.length; i++) { - var icon1 = new BMap.Icon("/img/ico_co00.png", new BMap.Size(48, 48)); - var mark1 = new BMap.Marker(new BMap.Point(device1[i].longitude, device1[i].latitude), {icon: icon1}); - devices.push( new BMap.Point(device1[i].longitude, device1[i].latitude)); - map.addOverlay(mark1); + $("#diff").html(diffSensor+" ("+info+")"); + var winds=[]; + if (wind>=180){ + wind=wind-180; + }else{ + wind=wind+180; + } + for (var i = 0; i <preAngleDeviceList.length; i++) { + var icon11=new BMap.Icon("/img/wind_dir02.png", new BMap.Size(25, 25), {anchor:new BMap.Size(11, 21.5)}); + var mark11 = new BMap.Marker(new BMap.Point(preAngleDeviceList[i].longitude, preAngleDeviceList[i].latitude), {icon: icon11}); + winds.push( new BMap.Point(preAngleDeviceList[i].longitude, preAngleDeviceList[i].latitude)); + mark11.setRotation(wind); + map.addOverlay(mark11); } } - - - //������������������������ - map.addControl(new BMap.MapTypeControl({ - mapTypes: [ - BMAP_NORMAL_MAP, - BMAP_HYBRID_MAP - ] - })); + if(preAngleDeviceString==0){ + $("#box").css("visibility","hidden"); + document.getElementById("cpm").style.display = 'block'; + } + if(preAngleDeviceString==1){ + $("#box").css("visibility","hidden"); + document.getElementById("cpm1").style.display = 'block'; + } function addArrow(polyline,length,angleValue,color){ //��������������������� -- Gitblit v1.8.0