map.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. var cameras=[{id:'1001',type1:'视频设备',name:'监控摄像头1',type:'枪机',address:'堆龙区XXXX路78号',unit:'城管局',val:"",tit:"",tit1:"",coordX:91.015757,coordY: 29.638771},
  2. {id:'1002',type1:'视频设备',name:'监控摄像头21',type:'枪机',address:'堆龙区XXXX路1号',unit:'城管局',val:"",tit:"",tit1:"",coordX:91.035757,coordY: 29.628771},
  3. {id:'1003',type1:'视频设备',name:'监控摄像头3',type:'球机',address:'堆龙区XXXX路2号',unit:'城管局',val:"",tit:"",tit1:"",coordX:91.025757,coordY: 29.618771},
  4. {id:'1004',type1:'视频设备',name:'监控摄像头4',type:'球机',address:'堆龙区XXXX路3号',unit:'城管局',val:"",tit:"",tit1:"",coordX:91.055757,coordY: 29.438771},
  5. {id:'1005',type1:'视频设备',name:'监控摄像头5',type:'枪机',address:'堆龙区XXXX路4号',unit:'城管局',val:"",tit:"",tit1:"",coordX:91.115757,coordY: 29.538771},
  6. {id:'1006',type1:'视频设备',name:'监控摄像头6',type:'枪机',address:'堆龙区XXXX路5号',unit:'城管局',val:"",tit:"",tit1:"",coordX:91.215357,coordY: 29.528771}];
  7. var noice=[{id:'1001',name:'噪音监控1',type:'便携式',address:'堆龙区XXXX路78号',unit:'城管局',val:"31",tit:"监测值",tit1:"阀值",coordX:91.015757,coordY: 29.638731},
  8. {id:'1002',type1:'噪音监控',name:'噪音监控2',type:'立式',address:'堆龙区XXXX路1号',unit:'城管局',val:"61",tit:"监测值",tit1:"阀值",coordX:91.025757,coordY: 29.628766},
  9. {id:'1003',type1:'噪音监控',name:'噪音监控3',type:'立式',address:'堆龙区XXXX路2号',unit:'城管局',val:"217",tit:"监测值",tit1:"阀值",coordX:91.115757,coordY: 29.618751},
  10. {id:'1004',type1:'噪音监控',name:'噪音监控4',type:'立式',address:'堆龙区XXXX路3号',unit:'城管局',val:"211",tit:"监测值",tit1:"阀值",coordX:91.050757,coordY: 29.438701},
  11. {id:'1005',type1:'噪音监控',name:'噪音监控5',type:'立式',address:'堆龙区XXXX路4号',unit:'城管局',val:"121",tit:"监测值",tit1:"阀值",coordX:91.113057,coordY: 29.538971},
  12. {id:'1006',type1:'噪音监控',name:'噪音监控6',type:'立式',address:'堆龙区XXXX路5号',unit:'城管局',val:"71",tit:"监测值",tit1:"阀值",coordX:91.115351,coordY: 29.528761}];
  13. var pm=[{id:'1001',type1:'扬尘监控',name:'扬尘监控1',type:'便携式',address:'堆龙区XXXX路78号',unit:'城管局',val:"31",tit:"监测值",tit1:"阀值",coordX:91.13807,coordY: 29.727506},
  14. {id:'1002',type1:'扬尘监控',name:'扬尘监控2',type:'立式',address:'堆龙区XXXX路1号',unit:'城管局',val:"61",tit:"监测值",tit1:"阀值",coordX:91.096676,coordY: 29.651201},
  15. {id:'1003',type1:'扬尘监控',name:'扬尘监控3',type:'立式',address:'堆龙区XXXX路2号',unit:'城管局',val:"217",tit:"监测值",tit1:"阀值",coordX:91.13922,coordY: 29.62458},
  16. {id:'1004',type1:'扬尘监控',name:'扬尘监控4',type:'立式',address:'堆龙区XXXX路3号',unit:'城管局',val:"211",tit:"监测值",tit1:"阀值",coordX:91.084603,coordY: 29.691369},
  17. {id:'1005',type1:'扬尘监控',name:'扬尘监控5',type:'立式',address:'堆龙区XXXX路4号',unit:'城管局',val:"121",tit:"监测值",tit1:"阀值",coordX:91.118523,coordY: 29.62458},
  18. {id:'1006',type1:'扬尘监控',name:'扬尘监控6',type:'立式',address:'堆龙区XXXX路5号',unit:'城管局',val:"71",tit:"监测值",tit1:"阀值",coordX:91.169691,coordY: 29.609007}];
  19. var site=[{id:'1001',type1:'工地点位',name:'工地信息',address:'堆龙区XXXX路78号',unit:'城管局',coordX:91.014751,coordY: 29.518971,coordX1:91.018488,coordY1: 29.518342,coordX2:91.017266,coordY2: 29.516456,coordX3:91.011517,coordY3: 29.517336},
  20. {id:'1002',type1:'工地点位',name:'工地信息',address:'堆龙区XXXX路78号',unit:'城管局',coordX:90.978675,coordY: 29.514508,coordX1:90.98543,coordY1: 29.512245,coordX2:90.981406,coordY2: 29.50973,coordX3:90.9758,coordY3: 29.510987},
  21. {id:'1001',type1:'工地点位',name:'工地信息',address:'堆龙区XXXX路78号',unit:'城管局',coordX:90.97616,coordY: 29.504701,coordX1:90.978747,coordY1: 29.502375,coordX2:90.975154,coordY2: 29.502752,coordX3:90.976016,coordY3: 29.504072}
  22. ]
  23. var val1="枪机";
  24. var val2="立式";
  25. var f1="噪音";
  26. var f2="视频";
  27. var f3="扬尘"
  28. var scrvideo="img/videoLine.png";
  29. var nocset="img/nosceset.png";
  30. var pmImg="img/pai32.png";
  31. function showCamera(setNum,val,srcVal,falg){
  32. for( i=0;i<setNum.length;i++){
  33. var pt = new BMap.Point(setNum[i].coordX,setNum[i].coordY);
  34. var myIcon = new BMap.Icon(srcVal, new BMap.Size(300,157));
  35. var mak2= new BMap.Marker(pt,{icon:myIcon});
  36. var label = new BMap.Label(setNum[i].val,{offset:new BMap.Size(20,-30)});
  37. if(falg=="噪音"){
  38. mak2.setLabel(label);
  39. }
  40. if(setNum[i].type==val){
  41. label.setStyle({
  42. color: '#fff',
  43. background:"url(img/ico_level_06.png) no-repeat",
  44. width:"48px",
  45. height:"38px",
  46. textAlign: "center",
  47. lineHeight: "30px",
  48. border:0
  49. });
  50. }
  51. else {
  52. label.setStyle({
  53. color: '#fff',
  54. background:"url(img/ico_level_01.png) no-repeat",
  55. border:0,
  56. width:"48px",
  57. height:"38px",
  58. lineHight:"38px",
  59. lineHeight: "30px",
  60. textAlign: "center"
  61. });
  62. }
  63. var sContent1 =
  64. "<div style='width: 350px'>"+
  65. "<h4 style='margin:6px 0;padding:0.2em 0;border-bottom: 1px solid #eeeeee;font-weight: 600'><span>"+setNum[i].id+"</span><span style='float: right;color: #0D8BBD'>"+setNum[i].type1+"</span></h4>" +
  66. "<p style='margin-top:10px;line-height:1.5;font-size:13px;'><label style='font-weight: 600'>设备类型:</label>"+setNum[i].type+"</p>" +
  67. "<p style='margin-top:10px;line-height:1.5;font-size:13px;'><label style='font-weight: 600'>位置信息:</label>"+setNum[i].address+"</p>" +
  68. "<p style='border-bottom: 1px dashed #cccccc'></p>"+
  69. "<p style='margin-top:10px;line-height:1.5;font-size:13px;'><span style='color: red;margin-right: 5px'>"+setNum[i].tit+"</span><span>"+setNum[i].val+"</span><span style='color: green;margin-right: 5px;margin-left: 15px'>"+setNum[i].tit1+"</span><span>"+setNum[i].val+"</span><a href='javascript:void' style='float: right;margin-right: 5px'>播放</a> </p>"+
  70. "</div>";
  71. var infoWindow = new BMap.InfoWindow(sContent1);
  72. mak2.addEventListener("click", function(){
  73. this.openInfoWindow(infoWindow);})
  74. map.addOverlay(mak2);
  75. }
  76. map.panTo(point);
  77. }
  78. function showSite(setNum){
  79. for( i=0;i<setNum.length;i++){
  80. var polygon = new BMap.Polygon([
  81. new BMap.Point(setNum[i].coordX,setNum[i].coordY),
  82. new BMap.Point(setNum[i].coordX1,setNum[i].coordY1),
  83. new BMap.Point(setNum[i].coordX2,setNum[i].coordY2),
  84. new BMap.Point(setNum[i].coordX3,setNum[i].coordY3)
  85. ], {strokeColor:"red", strokeWeight:2, strokeOpacity:0.5}); //创建多边形
  86. map.addOverlay(polygon);
  87. map.panTo(polygon);
  88. }
  89. }
  90. // 百度地图API功能
  91. var map = new BMap.Map("map_box"); // 创建Map实例
  92. var point = new BMap.Point(91.010439, 29.672291);
  93. map.centerAndZoom(point, 11);
  94. //添加地图类型控件
  95. var size1 = new BMap.Size(15, 50);
  96. map.addControl(new BMap.MapTypeControl({
  97. offset: size1,
  98. mapTypes:[
  99. BMAP_NORMAL_MAP,
  100. BMAP_HYBRID_MAP,
  101. ]}));
  102. map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
  103. // 随机向地图添加25个标注
  104. var bounds = map.getBounds();
  105. var sw = bounds.getSouthWest();
  106. var ne = bounds.getNorthEast();
  107. var lngSpan = Math.abs(sw.lng - ne.lng);
  108. var latSpan = Math.abs(ne.lat - sw.lat);
  109. var x01;var y01;
  110. //点击获取坐标
  111. //function showInfo(e){
  112. // alert(e.point.lng + ", " + e.point.lat);
  113. //}
  114. //map.addEventListener("click", showInfo);
  115. //噪音设备
  116. $("#check02").change(function(){
  117. // inputCheck(point,marker1,infoWindow1);
  118. if($('input[type=checkbox]').is(':checked')){
  119. showCamera(cameras,val1,scrvideo,f2);}
  120. else{
  121. map.clearOverlays();
  122. }
  123. })
  124. //视频设备
  125. $("#check01").change(function(){
  126. // inputCheck(point,marker1,infoWindow1);
  127. if($('input[type=checkbox]').is(':checked')){
  128. showCamera(noice,val2,nocset,f1);
  129. }
  130. else{
  131. map.clearOverlays();
  132. }
  133. })
  134. //扬尘设备
  135. $("#check03").change(function(){
  136. // inputCheck(point,marker1,infoWindow1);
  137. if($('input[type=checkbox]').is(':checked')){
  138. showCamera(pm,val2,pmImg,f1);
  139. }
  140. else{
  141. map.clearOverlays();
  142. }
  143. })
  144. //工地
  145. $("#check04").change(function(){
  146. if($('input[type=checkbox]').is(':checked')){
  147. showSite(site);
  148. }
  149. else{
  150. map.clearOverlays();
  151. }
  152. })
  153. //定位
  154. function addLocal(x,y){
  155. var pt=new BMap.Point(x, y);
  156. var markers = new BMap.Marker(pt);
  157. map.addOverlay(markers);
  158. map.panTo(pt);
  159. markers.addEventListener("click",function(){
  160. this.openInfoWindow(infoWindow);
  161. })
  162. }
  163. //定位1
  164. function addLocal1(){
  165. var pt=new BMap.Point(91.00469, 29.562774);
  166. var markers = new BMap.Marker(pt);
  167. map.addOverlay(markers);
  168. map.panTo(pt);
  169. markers.addEventListener("click",function(){
  170. this.openInfoWindow(infoWindow);
  171. })
  172. }
  173. $(".search_location").click(function(){
  174. addLocal();
  175. })
  176. function findAddr(val){
  177. $("#add_res").show();
  178. $("#addr_local").hide();
  179. var options = {
  180. onSearchComplete: function(results){
  181. var len=results.Br.length;
  182. var liHtml="";
  183. for(i=0;i<len;i++){
  184. var tit=results.Br[i].title;
  185. var addr=results.Br[i].address;
  186. x01=results.Br[i].point.lng;
  187. y01=results.Br[i].point.lat;
  188. var li="<li><p><strong>"+tit+"</strong><span class='right'><a href='javascript:void(0)' title='视频'><img src='img/nav_5.png'> </a><a href='javascript:void(0)' title='定位' onclick='addLocal(x01,y01)'><img src='img/find01.png'> </a> </span></p> <p>"+addr+"</p></li>";
  189. console.log(li);
  190. liHtml+=li;
  191. }
  192. document.getElementById("addr_ul").innerHTML=liHtml;
  193. }
  194. };
  195. val=$("#addName").val();
  196. var local = new BMap.LocalSearch(map, options);
  197. local.search(val);
  198. }
  199. function findAddr1(){
  200. $("#addr_local li").click(function(){
  201. $("#add_res").show();
  202. $("#addr_local").hide();
  203. var options = {
  204. onSearchComplete: function(results){
  205. var len=results.Br.length;
  206. var liHtml="";
  207. for(i=0;i<len;i++){
  208. var tit=results.Br[i].title;
  209. var addr=results.Br[i].address;
  210. x01=results.Br[i].point.lng;
  211. y01=results.Br[i].point.lat;
  212. localPoint= new BMap.Point(x01,y01);
  213. var li="<li><p><strong>"+tit+"</strong><span class='right'><a href='javascript:void(0)' title='视频'><img src='img/nav_5.png'> </a><a href='javascript:void(0)' title='定位' onclick='addLocal(x01,y01)'><img src='img/find01.png'> </a> </span></p> <p>"+addr+"</p></li>";
  214. liHtml+=li;
  215. }
  216. document.getElementById("addr_ul").innerHTML=liHtml;
  217. }
  218. };
  219. var val=$(this).find(".img_div_text").text();
  220. var local = new BMap.LocalSearch(map, options);
  221. local.search(val);
  222. })
  223. }
  224. $(function(){
  225. findAddr1();
  226. })