test2.html.bak 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf8">
  6. <style type="text/css">
  7. html,body{height:100%;margin:0px;padding:0px;font-family:"微软雅黑";font-size:14px; background:url('./images/bg4.png')}
  8. #allmap{width: 100%; min-height: 380px; display: flex; justify-content: center;align-items: center;}
  9. .optionpanel{margin: 10px auto;}
  10. #r-result{ margin:0 auto; width:500px; position: absolute; bottom:0px;}
  11. .anchorBL,.BMap_omCtrl{display:none;}
  12. img
  13. {
  14. opacity:0.85;
  15. }
  16. .header{
  17. width: 100%;
  18. min-height: 80px;
  19. height: 11%;
  20. display: flex;
  21. letter-spacing:80px;
  22. font-size:45px;
  23. color: aqua;
  24. justify-content: center;
  25. align-items: center;
  26. background:url('./images/header.png') no-repeat center;
  27. background-size: contain;
  28. }
  29. .cod-shadow{
  30. box-shadow:0 0 23px #50e4fe inset;
  31. -webkit-box-shadow:0 0 23px #50e4fe inset;
  32. -moz-box-shadow:0 0 23px #50e4fe inset;
  33. -o-box-shadow:0 0 23px #50e4fe inset;
  34. }
  35. .alarming{
  36. color: #fff;
  37. }
  38. .col-height{
  39. min-height:300px;
  40. height:80%;
  41. padding:10px;
  42. }
  43. </style>
  44. <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
  45. <script src="./js/echarts.js"></script>
  46. <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
  47. <script src="js/bootstrap.min.js"></script>
  48. <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=4FjGxlxzQrIkl7BxwMPl6da5yMxsXwp4"></script>
  49. <title>个性底图设置模板Demo页</title>
  50. </head>
  51. <body>
  52. <div class="container-fluid">
  53. <div class="row">
  54. <div class="col-md-12 " style="padding:0px;">
  55. <div class="header"> 中泰科技</div>
  56. </div>
  57. </div>
  58. <div class="row">
  59. <div class="col-sm-6 col-md-6 cod-shadow" style="padding-top:10px; padding-bottom:8px; padding-right:8px;" >
  60. <div id="allmap"></div>
  61. </div>
  62. <div class="col-xs-6 col-md-6 cod-shadow" style="padding-top:10px; padding-bottom:8px;">
  63. <div id="mainMap" style="height:380px;"></div>
  64. </div>
  65. </div>
  66. <div id="searchResultPanel" style=" position: absolute; border:1px solid #C0C0C0; width:220px; height:auto; display:none;"></div>
  67. <div class="row">
  68. <div class="col-xs-6 col-sm-4 cod-shadow">
  69. <div class="alarming col-height" name="东海楼一楼左配电箱(护士站)">
  70. <p>单位名称:<span>杨浦区社会福利院</span></p>
  71. <p>设备名称:<span> 东海楼一楼左配电箱(护士站)</span></p>
  72. <p>报警类型:<span class="blue">漏电</span></p>
  73. <p>序列号码:<span>3300075</span></p>
  74. <p>报警时间:<span>2017/08/23 09:46:50</span></p>
  75. </div></div>
  76. <div class="col-xs-6 col-sm-4 cod-shadow"><div id="main" class="col-height" ></div></div>
  77. <div class="col-xs-6 col-sm-4 cod-shadow"><div id="mainline" class="col-height" ></div></div>
  78. </div>
  79. </div>
  80. </body>
  81. </html>
  82. <script type="text/javascript" src="http://lbsyun.baidu.com/custom/stylelist.js"></script>
  83. <script type="text/javascript">
  84. var map = new BMap.Map("allmap");
  85. window.map = map;
  86. var point = new BMap.Point(121.48,31.22);
  87. map.addControl(new BMap.NavigationControl()); // 添加平移缩放控件
  88. map.addControl(new BMap.ScaleControl()); // 添加比例尺控件
  89. map.addControl(new BMap.OverviewMapControl()); //添加缩略地图控件
  90. map.enableScrollWheelZoom(); //启用滚轮放大缩小
  91. map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
  92. map.disable3DBuilding();
  93. map.centerAndZoom(point, 9);
  94. /*map.addEventListener("click",function(e){
  95. alert(e.point.lng + "," + e.point.lat);
  96. });*/
  97. //代码使用如下,即可. 模板页可以查看http://lbsyun.baidu.com/custom/list.htm
  98. //map.setMapStyle({style:'midnight'});
  99. changeMapStyle('midnight');
  100. function changeMapStyle(style){
  101. map.setMapStyle({style:style});
  102. $('#desc').html(mapstyles[style].desc);
  103. }
  104. //创建小狐狸
  105. /*var pt = new BMap.Point(121.37401,31.113346);
  106. var marker2 = new BMap.Marker(pt,{icon:myIcon}); // 创建标注
  107. map.addOverlay(marker2); // 将标注添加到地图中 */
  108. var myIcon = new BMap.Icon("./images/1.png", new BMap.Size(30,30));
  109. var myIcon1 = new BMap.Icon("./images/2.png", new BMap.Size(30,30));
  110. var data_info = [[121.37401,31.113346,"地址:上海市闵行区莘松六村34栋",1],
  111. [121.37426,31.113455,"地址:上海市闵行区莘松六村33栋",0]
  112. ,[121.481152,31.235372,"地址:上海市人民广场",0]
  113. ,[121.398378,31.237817 ,"地址:上海市普陀区申汉大厦-c座",1]
  114. ,[121.399029,31.240878,"地址:上海市普陀区五芳斋大厦",0]
  115. ,[121.254655,31.142278,"地址:xxxx",0]
  116. ,[121.223156,31.140878,"地址:zzzzzz",0]];
  117. var opts = {
  118. width : 250, // 信息窗口宽度
  119. height: 80, // 信息窗口高度
  120. title : "信息窗口" , // 信息窗口标题
  121. enableMessage:true//设置允许信息窗发送短息
  122. };
  123. for(var i=0;i<data_info.length;i++){
  124. var marker = new BMap.Marker(new BMap.Point(data_info[i][0],data_info[i][1]),{icon:(data_info[i][3]==1)?myIcon1:myIcon}); // 创建标注
  125. var content = data_info[i][2];
  126. map.addOverlay(marker); // 将标注添加到地图中
  127. if(data_info[i][3]==1){
  128. marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
  129. }
  130. addClickHandler(content,marker);
  131. }
  132. function addClickHandler(content,marker){
  133. marker.addEventListener("click",function(e){
  134. openInfo(content,e)}
  135. );
  136. }
  137. function openInfo(content,e){
  138. var p = e.target;
  139. var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);
  140. var infoWindow = new BMap.InfoWindow(content,opts); // 创建信息窗口对象
  141. map.openInfoWindow(infoWindow,point); //开启信息窗口
  142. }
  143. require.config({
  144. paths: {
  145. echarts: './js'
  146. }
  147. });
  148. // Step:4 require echarts and use it in the callback.
  149. // Step:4 动态加载echarts然后在回调函数中开始使用,注意保持按需加载结构定义图表路径
  150. require(
  151. [
  152. 'echarts',
  153. 'echarts/chart/bar',
  154. 'echarts/chart/line',
  155. 'echarts/chart/pie',
  156. 'echarts/chart/map'
  157. ],
  158. function (ec) {
  159. //饼图
  160. var myChart = ec.init(document.getElementById('main'));
  161. myChart.setOption({
  162. title : {
  163. text: '',
  164. subtext: '',
  165. x:'center'
  166. },
  167. tooltip : {
  168. trigger: 'item',
  169. formatter: "{a} <br/>{b} : {c} ({d}%)"
  170. },
  171. legend: {
  172. textStyle:{color: '#fff'},
  173. orient : 'vertical',
  174. x : 'left',
  175. data:['接入点位','报警点位','报警次数']
  176. },
  177. toolbox: {
  178. show : false,
  179. feature : {
  180. mark : {show: true},
  181. dataView : {show: true, readOnly: false},
  182. magicType : {
  183. show: true,
  184. type: ['pie', 'funnel'],
  185. option: {
  186. funnel: {
  187. x: '25%',
  188. width: '50%',
  189. funnelAlign: 'left',
  190. max: 1548
  191. }
  192. }
  193. },
  194. restore : {show: true},
  195. saveAsImage : {show: true}
  196. }
  197. },
  198. calculable : true,
  199. series : [
  200. {
  201. name:'访问来源',
  202. type:'pie',
  203. radius : '70%',
  204. center: ['50%', '60%'],
  205. data:[
  206. {value:198, name:'接入点位',itemStyle:{
  207. normal:{color:'#3FDCFD'}
  208. }},
  209. {value:5, name:'报警点位',itemStyle:{
  210. normal:{color:'#F84145'}
  211. }},
  212. {value:300, name:'报警次数',itemStyle:{
  213. normal:{color:'#6495ED'}
  214. }}
  215. ]
  216. }
  217. ]
  218. });
  219. //--- 柱 ---
  220. var myChart1 = ec.init(document.getElementById('mainline'),'dark');
  221. myChart1.setOption({
  222. title : {
  223. text: '2017报警记录',
  224. textStyle:{color: '#50e4fe'},
  225. },
  226. grid :{
  227. x:80,
  228. y:50,
  229. x2:30,
  230. y2:40,
  231. borderWidth:0,
  232. },
  233. tooltip : {
  234. textStyle:{color: '#fff'},
  235. trigger: 'axis',
  236. axisPointer:{type: 'none'}
  237. },
  238. toolbox: {
  239. show : false,
  240. feature : {
  241. mark : {show: true},
  242. dataView : {show: true, readOnly: false},
  243. magicType: {show: true, type: ['line', 'bar']},
  244. restore : {show: true},
  245. saveAsImage : {show: true}
  246. }
  247. },
  248. calculable : true,
  249. xAxis : [
  250. {
  251. type : 'value',
  252. boundaryGap : [0, 0.01],
  253. axisLabel : {
  254. show:true,
  255. length: 10,
  256. textStyle: {
  257. color: '#fff'
  258. }
  259. },
  260. splitLine:{
  261.      show:false
  262.    }
  263. }
  264. ],
  265. yAxis : [
  266. {
  267. type : 'category',
  268. data : ['接入点位','报警点位','报警次数'],
  269. axisLabel : {
  270. show:true,
  271. length: 10,
  272. textStyle: {
  273. color: '#fff'
  274. }
  275. },
  276. splitLine:{
  277.      show:false
  278.    }
  279. }
  280. ],
  281. series : [
  282. {
  283. name:'2017年',
  284. type:'bar',
  285. itemStyle : { normal: {label : {show: true, position: 'right'}}},
  286. data:[{
  287. value:198,
  288. itemStyle:{
  289. normal:{color:'#3FDCFD'}
  290. }
  291. },{
  292. value:5,
  293. itemStyle:{
  294. normal:{color:'#F84145'}
  295. }
  296. },{
  297. value:300,
  298. itemStyle:{
  299. normal:{color:'#6495ED'}
  300. }
  301. }]
  302. }
  303. ]
  304. });
  305. // --- 地图 ---
  306. var myChart2 = ec.init(document.getElementById('mainMap'));
  307. myChart2.setOption( {
  308. title : {
  309. text: '上海城市设备监控',
  310. subtext: '',
  311. x:'center',
  312. textStyle:{
  313. fontSize: 18,
  314. fontWeight: 'bolder',
  315. color: '#50e4fe'
  316. }
  317. },
  318. tooltip : {
  319. trigger: 'axis',
  320. formatter:{name}
  321. } ,
  322. legend: {
  323. textStyle:{color: '#fff'},
  324. orient: 'vertical',
  325. x:'left',
  326. data:['报警']
  327. },
  328. dataRange: {
  329. min : 0,
  330. max : 300,
  331. calculable : true,
  332. color: ['red','#0974de','#004881','lightgreen']
  333. },
  334. toolbox: {
  335. show : true,
  336. orient : 'vertical',
  337. x: 'right',
  338. y: 'center',
  339. feature : {
  340. mark : {show: true},
  341. dataView : {show: true, readOnly: false},
  342. restore : {show: true},
  343. saveAsImage : {show: true}
  344. }
  345. },
  346. series : [
  347. {
  348. name: '',
  349. type: 'map',
  350. mapType: '上海',
  351. hoverable: false,
  352. itemStyle:{
  353. normal:{label:{show:true, textStyle: {
  354. color: '#fff'
  355. }}}
  356. },
  357. data : [ {name: '闵行区',value: 100},
  358. {name: '黄浦区',value: 165},
  359. {name: '徐汇区',value: 155},
  360. {name: '长宁区',value: 95},
  361. {name: '静安区',value: 90},
  362. {name: '普陀区',value: 100},
  363. {name: '虹口区',value: 110},
  364. {name: '宝山区',value: 120},
  365. {name: '嘉定区',value: 130},
  366. {name: '浦东新区',value:140 },
  367. {name: '松江区',value: 150},
  368. {name: '金山区',value: 160},
  369. {name: '青浦区',value: 170},
  370. {name: '崇明县',value: 180},
  371. {name: '奉贤区',value: 190},
  372. {name: '卢湾区',value: 210},
  373. {name: '闸北区',value: 195},
  374. {name: '南汇区',value: 205},
  375. {name: '杨浦区',value: 200}]
  376. },
  377. {
  378. name: '正常',
  379. type: 'map',
  380. mapType: '上海',
  381. hoverable: false,
  382. roam:true,
  383. data : [ ],
  384. markPoint : {
  385. symbolSize: 5, // 标注大小,半宽(半径)参数,当图形为方向或菱形则总宽度为symbolSize * 2
  386. itemStyle: {
  387. normal: {
  388. borderColor: '#000',
  389. borderWidth: 1, // 标注边线线宽,单位px,默认为1
  390. label: {
  391. show: false
  392. }
  393. },
  394. emphasis: {
  395. borderColor: '#1e90ff',
  396. borderWidth: 5,
  397. label: {
  398. show: false
  399. }
  400. }
  401. },
  402. data : [
  403. {name: "上海", value: 0},
  404. { name:"上海市闵行区莘松六村34栋",value:0},
  405. {name: "上海市普陀区五芳斋大厦", value: 0},
  406. {name: "上海市普陀区五芳斋大厦", value: 0},
  407. {name: "上海市人民广场", value:0}
  408. ]
  409. },
  410. geoCoord: {
  411. "上海":[121.48,31.22],
  412. "上海市闵行区莘松六村34栋":[121.37401,31.113346],
  413. "上海市闵行区莘松六村33栋":[121.37426,31.113455],
  414. "上海市人民广场":[121.481152,31.235372],
  415. "上海市普陀区五芳斋大厦":[121.399029,31.240878]
  416. }
  417. },
  418. {
  419. name: '报警',
  420. type: 'map',
  421. mapType: '上海',
  422. data:[],
  423. markPoint : {
  424. symbol:'emptyCircle',
  425. symbolSize : function (v){
  426. return 10 + v/100
  427. },
  428. effect : {
  429. show: true,
  430. color :'red'
  431. },
  432. itemStyle:{
  433. normal:{
  434. label:{show:false}
  435. }
  436. },
  437. data : [
  438. // {name: "上海市人民广场", value:300},
  439. {name: "上海市普陀区申汉大厦-c座", value:300 }
  440. // {name: "上海市普陀区五芳斋大厦", value: 300},
  441. //{name: "上海市闵行区莘松六村33栋", value: 300}
  442. ]
  443. },
  444. geoCoord: {
  445. //"上海市闵行区莘松六村33栋":[121.37426,31.113455],
  446. //"上海市人民广场":[121.481152,31.235372],
  447. "上海市普陀区申汉大厦-c座":[121.398378,31.237817]
  448. // "上海市普陀区五芳斋大厦":[121.399029,31.240878],
  449. }
  450. }
  451. ]
  452. });
  453. }
  454. );
  455. </script>