Commit 75dd9f6e5fc122e9657c9ebc64b1d38e7ff79e92

Authored by 潘钊
1 parent 7fe23b16

update

src/main/resources/static/real_control_v2/assets/imgs/bus1-R.png 0 → 100644

3.61 KB

src/main/resources/static/real_control_v2/mapmonitor/css/real.css
  1 +input[type=checkbox].disabled{
  2 + background: #d6d3d3;
  3 + border-color: #d6d3d3 !important;
  4 +}
  5 +
1 .z-depth-2 { 6 .z-depth-2 {
2 box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); 7 box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
3 } 8 }
@@ -100,7 +105,7 @@ @@ -100,7 +105,7 @@
100 border: 1px solid #bfbcbc;*/ 105 border: 1px solid #bfbcbc;*/
101 106
102 position: absolute !important; 107 position: absolute !important;
103 - height: 180px; 108 + height: 124px;
104 bottom: 2px !important; 109 bottom: 2px !important;
105 background: #fff; 110 background: #fff;
106 box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); 111 box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
@@ -147,7 +152,7 @@ @@ -147,7 +152,7 @@
147 */ 152 */
148 .real_bottom_panel #handle{ 153 .real_bottom_panel #handle{
149 width: 100%; 154 width: 100%;
150 - height: 3px; 155 + height: 4px;
151 top: -3px; 156 top: -3px;
152 background-color: rgba(136, 137, 138, 0.49); 157 background-color: rgba(136, 137, 138, 0.49);
153 cursor: row-resize; 158 cursor: row-resize;
src/main/resources/static/real_control_v2/mapmonitor/fragments/map_config.html
@@ -20,19 +20,10 @@ @@ -20,19 +20,10 @@
20 </div> 20 </div>
21 21
22 <div class="uk-form-row"> 22 <div class="uk-form-row">
23 - <span class="uk-form-label">异常警报输出</span>  
24 - <div class="uk-form-controls">  
25 - <label><input type="checkbox" {{if abnormalPrint.speeding}}checked{{/if}}> 超速</label>  
26 - <label><input type="checkbox" {{if abnormalPrint.outBounds}}checked{{/if}}> 越界</label>  
27 - <label><input type="checkbox" {{if abnormalPrint.largeMargin}}checked{{/if}}> 大间隔</label>  
28 - </div>  
29 - </div>  
30 -  
31 - <div class="uk-form-row">  
32 <span class="uk-form-label">车辆图标</span> 23 <span class="uk-form-label">车辆图标</span>
33 <div class="uk-form-controls"> 24 <div class="uk-form-controls">
34 - <label><input type="checkbox" {{if carIcon.angle}}checked{{/if}}> 标示角度</label>  
35 - <label><input type="checkbox" {{if carIcon.converge}}checked{{/if}}> 聚合</label> 25 + <label><input name="carIcon_angle" type="checkbox" {{if carIcon.angle}}checked{{/if}}> 标示角度</label>
  26 + <label><input class="disabled" disabled type="checkbox" {{if carIcon.converge}}checked{{/if}}> 聚合</label>
36 </div> 27 </div>
37 </div> 28 </div>
38 29
@@ -81,7 +72,14 @@ @@ -81,7 +72,14 @@
81 </div> 72 </div>
82 </div> 73 </div>
83 74
84 - <br> 75 + <div class="uk-form-row">
  76 + <span class="uk-form-label">异常警报输出</span>
  77 + <div class="uk-form-controls">
  78 + <label><input class="disabled" disabled type="checkbox" {{if abnormalPrint.speeding}}checked{{/if}}> 超速</label>
  79 + <label><input class="disabled" disabled type="checkbox" {{if abnormalPrint.outBounds}}checked{{/if}}> 越界</label>
  80 + <label><input class="disabled" disabled type="checkbox" {{if abnormalPrint.largeMargin}}checked{{/if}}> 大间隔</label>
  81 + </div>
  82 + </div>
85 </form> 83 </form>
86 </script> 84 </script>
87 </div> 85 </div>
src/main/resources/static/real_control_v2/mapmonitor/js/config.js
@@ -86,7 +86,8 @@ var gb_map_config = (function () { @@ -86,7 +86,8 @@ var gb_map_config = (function () {
86 traffic: trafficSwitch, 86 traffic: trafficSwitch,
87 spatial_data_station: spatial_data_station, 87 spatial_data_station: spatial_data_station,
88 spatial_data_carPark: spatial_data_carPark, 88 spatial_data_carPark: spatial_data_carPark,
89 - spatial_electronicFence: spatial_electronicFence 89 + spatial_electronicFence: spatial_electronicFence,
  90 + carIcon_angle: carIcon_angle
90 }; 91 };
91 92
92 //切换地图类型 93 //切换地图类型
@@ -137,6 +138,12 @@ var gb_map_config = (function () { @@ -137,6 +138,12 @@ var gb_map_config = (function () {
137 else 138 else
138 gb_map_imap.call('hideAllCircles'); 139 gb_map_imap.call('hideAllCircles');
139 } 140 }
  141 +
  142 + //标识角度
  143 + function carIcon_angle(val) {
  144 + defaultConfig.carIcon.angle=this.checked;
  145 + gb_map_overlay_mge.reDraw();
  146 + }
140 147
141 function recursion_get_attr(data, attr) { 148 function recursion_get_attr(data, attr) {
142 var ats = attr.split('.'), 149 var ats = attr.split('.'),
src/main/resources/static/real_control_v2/mapmonitor/js/map/iMap.js
@@ -6,14 +6,11 @@ var gb_map_imap = (function () { @@ -6,14 +6,11 @@ var gb_map_imap = (function () {
6 var mapContainer = $('#mapContainer'); 6 var mapContainer = $('#mapContainer');
7 var maps = {}; 7 var maps = {};
8 //尝试从 localStorage 里获取默认的地图类型 8 //尝试从 localStorage 里获取默认的地图类型
9 - var currentMap = storage.getItem('real_map'); 9 + var currentMap;// = storage.getItem('real_map');
10 var mapProxy = { 10 var mapProxy = {
11 //添加一个地图实例 11 //添加一个地图实例
12 addMap: function (name, text, instance) { 12 addMap: function (name, text, instance) {
13 maps[name] = {name: name, text: text, instance: instance}; 13 maps[name] = {name: name, text: text, instance: instance};
14 -  
15 - if (!currentMap)  
16 - currentMap = name;  
17 return mapProxy; 14 return mapProxy;
18 }, 15 },
19 changeMap: function (mapName, cb) { 16 changeMap: function (mapName, cb) {
@@ -21,11 +18,11 @@ var gb_map_imap = (function () { @@ -21,11 +18,11 @@ var gb_map_imap = (function () {
21 return; 18 return;
22 if (maps[mapName]) { 19 if (maps[mapName]) {
23 //原地图 destroy 20 //原地图 destroy
24 - var oldMap = maps[currentMap].instance;  
25 - oldMap.destroy && oldMap.destroy(); 21 + if(currentMap){
  22 + var oldMap = maps[currentMap].instance;
  23 + oldMap.destroy && oldMap.destroy();
  24 + }
26 //新地图 INIT 25 //新地图 INIT
27 - //var text = maps[mapName].text;  
28 - //layer.msg('正在切换到' + text + '...', {icon : 16,shade : [ 0.6, '#393D49' ],time : 0});  
29 var newMap = maps[mapName].instance; 26 var newMap = maps[mapName].instance;
30 27
31 currentMap = mapName; 28 currentMap = mapName;
@@ -34,6 +31,9 @@ var gb_map_imap = (function () { @@ -34,6 +31,9 @@ var gb_map_imap = (function () {
34 alertErr('不存在的地图实例' + mapName); 31 alertErr('不存在的地图实例' + mapName);
35 }, 32 },
36 createCarIcon: createCarIcon, 33 createCarIcon: createCarIcon,
  34 + busIcon: '/real_control_v2/assets/imgs/bus1-R.png',
  35 + _color: color,
  36 + //createCarIcon_angle: createCarIcon_angle,
37 createStationIcon: createStationIcon, 37 createStationIcon: createStationIcon,
38 call: function (f, opts) { 38 call: function (f, opts) {
39 var instance = maps[currentMap].instance; 39 var instance = maps[currentMap].instance;
@@ -43,7 +43,7 @@ var gb_map_imap = (function () { @@ -43,7 +43,7 @@ var gb_map_imap = (function () {
43 alertErr('当前地图实例不支持操作:' + f); 43 alertErr('当前地图实例不支持操作:' + f);
44 return mapProxy; 44 return mapProxy;
45 } 45 }
46 - } 46 + };
47 47
48 //绘制车辆icon 48 //绘制车辆icon
49 function createCarIcon(gps, w) { 49 function createCarIcon(gps, w) {
@@ -72,6 +72,49 @@ var gb_map_imap = (function () { @@ -72,6 +72,49 @@ var gb_map_imap = (function () {
72 return canvas.toDataURL(); 72 return canvas.toDataURL();
73 } 73 }
74 74
  75 + //绘制车辆icon 带角度
  76 +/* var busIcon='data:image/png;base64,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';
  77 + function createCarIcon_angle(gps, w) {
  78 + var canvas = $('<canvas></canvas>')[0];
  79 + var ctx = canvas.getContext('2d');
  80 +
  81 + //旋转画布
  82 +
  83 + //console.log('gps', gps);direction
  84 + //车辆角度图片
  85 + var img = new Image();
  86 + img.src = busIcon;
  87 +
  88 + ctx.save();
  89 + ctx.translate(w/2, 25);
  90 + ctx.rotate(-((gps.direction+300) * Math.PI / 180));
  91 +
  92 + ctx.drawImage(img,-12, 0);
  93 +
  94 + ctx.restore();
  95 +
  96 + var colours = color(gps);
  97 +
  98 + ctx.shadowOffsetX = 5; // 阴影Y轴偏移
  99 + ctx.shadowOffsetY = 5; // 阴影X轴偏移
  100 + ctx.shadowBlur = 1; // 模糊尺寸
  101 + ctx.shadowColor = colours.shadow; // 颜色
  102 +
  103 + //绘制背景
  104 + if (!w)
  105 + w = 70;
  106 +
  107 + ctx.roundRect(0, 0, w, 25, 5).stroke();
  108 + ctx.fillStyle = colours.bgColor;
  109 + ctx.fill();
  110 + //文字
  111 + ctx.font = "14px arial";
  112 + ctx.fillStyle = "#fff";
  113 + ctx.fillText(gps.nbbm, 4, 18);
  114 +
  115 + return canvas.toDataURL();
  116 + }*/
  117 +
75 //绘制站点icon 118 //绘制站点icon
76 function createStationIcon(station, w) { 119 function createStationIcon(station, w) {
77 var canvas = $('<canvas></canvas>')[0]; 120 var canvas = $('<canvas></canvas>')[0];
src/main/resources/static/real_control_v2/mapmonitor/js/map/platform/baidu.js
@@ -64,7 +64,8 @@ var gb_map_baidu = (function(){ @@ -64,7 +64,8 @@ var gb_map_baidu = (function(){
64 });*/ 64 });*/
65 }, 65 },
66 destroy: function(){ 66 destroy: function(){
67 - realMarkers = {}; 67 + this.clearAll();
  68 + //realMarkers = {};
68 //linePolyline = []; 69 //linePolyline = [];
69 }, 70 },
70 //画线路图层 71 //画线路图层
@@ -205,8 +206,10 @@ var gb_map_baidu = (function(){ @@ -205,8 +206,10 @@ var gb_map_baidu = (function(){
205 //清除所有覆盖物 206 //清除所有覆盖物
206 realMarkers = {}; 207 realMarkers = {};
207 polylines={}; 208 polylines={};
  209 + stationMarkers={};
  210 + electronicFences={};
  211 + carparks={};
208 map.clearOverlays(); 212 map.clearOverlays();
209 -  
210 }, 213 },
211 showGpsMarker:function (opt) { 214 showGpsMarker:function (opt) {
212 var chs = opt.chs; 215 var chs = opt.chs;
@@ -316,53 +319,6 @@ var gb_map_baidu = (function(){ @@ -316,53 +319,6 @@ var gb_map_baidu = (function(){
316 319
317 obj.bdPoints=bdPoints; 320 obj.bdPoints=bdPoints;
318 } 321 }
319 -  
320 -/* function transCoordCarpark(carpark) {  
321 - var pStr = carpark.gParkPoint.substring(9, carpark.gParkPoint.length - 2);  
322 - var pArr = filterPolygonCoords(pStr.split(',')), coord, points=[];  
323 -  
324 - $.each(pArr, function (i, str) {  
325 - var c = str.split(' ');  
326 - coord = TransGPS.wgsToBD(parseFloat(c[1]), parseFloat(c[0]));  
327 - points.push(new BMap.Point(coord.lng, coord.lat));  
328 - });  
329 - carpark.bdPoints=points;  
330 - }  
331 -  
332 - function transPolygonStation(opt) {  
333 - var pStr = opt.polygon.substring(9, opt.polygon.length - 2);  
334 - var pArr = filterPolygonCoords(pStr.split(',')), coord, points=[];  
335 -  
336 - $.each(pArr, function (i, str) {  
337 - var c = str.split(' ');  
338 - coord = TransGPS.wgsToBD(parseFloat(c[1]), parseFloat(c[0]));  
339 - points.push(new BMap.Point(coord.lng, coord.lat));  
340 - });  
341 - opt.bdPoints=points;  
342 - }*/  
343 -  
344 -/* //处理多边形点数组  
345 - function filterPolygonCoords(pArr) {  
346 - var newArr=[];  
347 - //去掉已闭合的尾  
348 - var end=pArr.length - 1;  
349 - if(pArr.length > 1 && pArr[0] == pArr[end])  
350 - pArr = pArr.slice(0, end);  
351 -  
352 - //去掉连续的重复点  
353 - var last;  
354 - $.each(pArr, function (i, str) {  
355 - if(last){  
356 - if(last != str)  
357 - newArr.push(str);  
358 - }  
359 - else  
360 - newArr.push(str);  
361 - last = str;  
362 - });  
363 -  
364 - return newArr;  
365 - }*/  
366 322
367 function transCoord(gps) { 323 function transCoord(gps) {
368 var coord = TransGPS.wgsToBD(gps.lat, gps.lon); 324 var coord = TransGPS.wgsToBD(gps.lat, gps.lon);
@@ -377,12 +333,15 @@ var gb_map_baidu = (function(){ @@ -377,12 +333,15 @@ var gb_map_baidu = (function(){
377 }; 333 };
378 function createBDMarkerByGps(gpsData){ 334 function createBDMarkerByGps(gpsData){
379 335
  336 +
  337 + //carIcon
380 var point = new BMap.Point(gpsData.bd_lon, gpsData.bd_lat); 338 var point = new BMap.Point(gpsData.bd_lon, gpsData.bd_lat);
381 var marker = new BMap.Marker(point); 339 var marker = new BMap.Marker(point);
382 340
383 //根据编码长度 计算marker 宽度 341 //根据编码长度 计算marker 宽度
384 var w = calcGpsMarkerWidth(gpsData.nbbm);//gpsData.nbbm.length * 10; 342 var w = calcGpsMarkerWidth(gpsData.nbbm);//gpsData.nbbm.length * 10;
385 - marker.setIcon(new BMap.Icon(gb_map_imap.createCarIcon(gpsData, w), new BMap.Size(w,25))); 343 + //渲染icon
  344 + renderIcon(marker, gpsData, w);
386 345
387 marker._icon_width=w; 346 marker._icon_width=w;
388 marker.infoWindow = new BMap.InfoWindow(bd_gps_info_win_opts); 347 marker.infoWindow = new BMap.InfoWindow(bd_gps_info_win_opts);
@@ -399,6 +358,27 @@ var gb_map_baidu = (function(){ @@ -399,6 +358,27 @@ var gb_map_baidu = (function(){
399 return marker; 358 return marker;
400 } 359 }
401 360
  361 + function renderIcon(marker, gpsData, w){
  362 + var config = gb_map_config.getConfig();
  363 +
  364 + //如果需要标识角度
  365 + if(config.carIcon.angle){
  366 +
  367 + var icon = new BMap.Icon(gb_map_imap.busIcon, new BMap.Size(24,24));
  368 + var label = new BMap.Label(gpsData.nbbm,{offset:new BMap.Size(-(w/2-10),-24)});
  369 + var color=gb_map_imap._color(gpsData).bgColor;
  370 +
  371 + label.setStyle({borderColor: color,borderRadius: '5px', padding: '1px 2px', color: '#fff', backgroundColor: color, font: 14});
  372 + marker.setIcon(icon);
  373 + marker.setLabel(label);
  374 + //旋转角度
  375 + marker.setRotation(gpsData.direction-90);
  376 +
  377 + }
  378 + else
  379 + marker.setIcon(new BMap.Icon(gb_map_imap.createCarIcon(gpsData, w), new BMap.Size(w,25)));
  380 + }
  381 +
402 382
403 function calcGpsMarkerWidth(nbbm) { 383 function calcGpsMarkerWidth(nbbm) {
404 var width=0; 384 var width=0;
@@ -440,12 +420,20 @@ var gb_map_baidu = (function(){ @@ -440,12 +420,20 @@ var gb_map_baidu = (function(){
440 } 420 }
441 421
442 function moveMarker(m, gps){ 422 function moveMarker(m, gps){
  423 + var config = gb_map_config.getConfig();
443 m.setPosition(new BMap.Point(gps.bd_lon, gps.bd_lat)); 424 m.setPosition(new BMap.Point(gps.bd_lon, gps.bd_lat));
444 m.gpsData = gps; 425 m.gpsData = gps;
445 //重新设置icon 426 //重新设置icon
446 //根据编码长度 计算marker 宽度 427 //根据编码长度 计算marker 宽度
447 var w = m._icon_width;//calcGpsMarkerWidth(gps.nbbm);//gps.nbbm.length * 10; 428 var w = m._icon_width;//calcGpsMarkerWidth(gps.nbbm);//gps.nbbm.length * 10;
448 - m.setIcon(new BMap.Icon(gb_map_imap.createCarIcon(gps, w), new BMap.Size(w,25))); 429 +
  430 + renderIcon(m, gps, w);
  431 + /*//如果需要标识角度
  432 + if(config.carIcon.angle)
  433 + m.setIcon(new BMap.Icon(gb_map_imap.createCarIcon_angle(gps, w), new BMap.Size(w,50)));
  434 + else
  435 + m.setIcon(new BMap.Icon(gb_map_imap.createCarIcon(gps, w), new BMap.Size(w,25)));*/
  436 + //m.setIcon(new BMap.Icon(gb_map_imap.createCarIcon(gps, w), new BMap.Size(w,25)));
449 437
450 //更新 infoWindow 438 //更新 infoWindow
451 if(m.infoWindow.isOpen()){ 439 if(m.infoWindow.isOpen()){
src/main/resources/static/real_control_v2/mapmonitor/js/map/platform/gaode.js
@@ -66,10 +66,7 @@ var gb_map_gaode = (function() { @@ -66,10 +66,7 @@ var gb_map_gaode = (function() {
66 $('.leftUtils').addClass('gaode'); 66 $('.leftUtils').addClass('gaode');
67 }, 67 },
68 destroy:function(){ 68 destroy:function(){
69 - realMarkers = {};  
70 - $('.mapRightWrap').removeClass('gaode');  
71 - $('.mapTools').removeClass('gaode');  
72 - $('.leftUtils').removeClass('gaode'); 69 + this.clearAll();
73 }, 70 },
74 traffic: function (enable) { 71 traffic: function (enable) {
75 if(enable) 72 if(enable)
@@ -80,6 +77,9 @@ var gb_map_gaode = (function() { @@ -80,6 +77,9 @@ var gb_map_gaode = (function() {
80 clearAll: function () { 77 clearAll: function () {
81 realMarkers = {}; 78 realMarkers = {};
82 polylines={}; 79 polylines={};
  80 + stationMarkers={};
  81 + electronicFences={};
  82 + carparks={};
83 map.clearMap(); 83 map.clearMap();
84 }, 84 },
85 drawLine: function(opt){ 85 drawLine: function(opt){
@@ -299,14 +299,12 @@ var gb_map_gaode = (function() { @@ -299,14 +299,12 @@ var gb_map_gaode = (function() {
299 299
300 var marker = new AMap.Marker({ 300 var marker = new AMap.Marker({
301 map: map, 301 map: map,
302 - position: [gps.gcj_lon, gps.gcj_lat],  
303 - icon: new AMap.Icon({  
304 - size: new AMap.Size(w, 25), //图标大小  
305 - image: gb_map_imap.createCarIcon(gps, w)  
306 - }),  
307 - offset: new AMap.Pixel(-(w/2), -12) 302 + position: [gps.gcj_lon, gps.gcj_lat]
308 }); 303 });
309 304
  305 + //渲染icon
  306 + renderIcon(marker, gps, w);
  307 +
310 marker._icon_width=w; 308 marker._icon_width=w;
311 //绑定数据 309 //绑定数据
312 marker.gpsData = gps; 310 marker.gpsData = gps;
@@ -326,6 +324,28 @@ var gb_map_gaode = (function() { @@ -326,6 +324,28 @@ var gb_map_gaode = (function() {
326 324
327 return marker; 325 return marker;
328 } 326 }
  327 +
  328 + function renderIcon(marker, gps, w) {
  329 + var config = gb_map_config.getConfig();
  330 +
  331 + //如果需要标识角度
  332 + if(config.carIcon.angle) {
  333 + marker.setIcon(gb_map_imap.busIcon);
  334 + marker.setAngle(gps.direction - 90);
  335 + marker.setOffset(new AMap.Pixel(-(w / 2), -12));
  336 +
  337 + marker.setLabel({
  338 + content: gps.nbbm,
  339 + offset: new AMap.Pixel(-20, -20),
  340 + });
  341 + }
  342 + else{
  343 + marker.setIcon(new AMap.Icon({
  344 + size: new AMap.Size(w, 25), //图标大小
  345 + image: gb_map_imap.createCarIcon(gps, w)
  346 + }));
  347 + }
  348 + }
329 349
330 //创建站点marker 350 //创建站点marker
331 function createStationMark(statio) { 351 function createStationMark(statio) {
@@ -370,10 +390,13 @@ var gb_map_gaode = (function() { @@ -370,10 +390,13 @@ var gb_map_gaode = (function() {
370 390
371 //重新设置icon 391 //重新设置icon
372 var w = m._icon_width; 392 var w = m._icon_width;
373 - m.setIcon(new AMap.Icon({ 393 + //渲染icon
  394 + renderIcon(marker, gps, w);
  395 +
  396 + /*m.setIcon(new AMap.Icon({
374 size: new AMap.Size(w, 25), 397 size: new AMap.Size(w, 25),
375 image: gb_map_imap.createCarIcon(gps, w) 398 image: gb_map_imap.createCarIcon(gps, w)
376 - })); 399 + }));*/
377 400
378 if(m.infoWindow.getIsOpen()) 401 if(m.infoWindow.getIsOpen())
379 openWindow(m); 402 openWindow(m);
src/main/resources/static/real_control_v2/mapmonitor/js/real.js
1 var mapmonitor_load_ep = EventProxy.create('load_iMap', 'load_baidu', 'load_gaode', function () { 1 var mapmonitor_load_ep = EventProxy.create('load_iMap', 'load_baidu', 'load_gaode', function () {
2 moment.locale('zh-cn'); 2 moment.locale('zh-cn');
3 - //地图  
4 - gb_map_imap.addMap('baidu', '百度地图', gb_map_baidu)  
5 - .addMap('gaode', '高德地图', gb_map_gaode)  
6 - .call('init');  
7 3
8 //init config form 4 //init config form
9 gb_map_config.init(); 5 gb_map_config.init();
10 6
  7 + //地图
  8 + gb_map_imap.addMap('baidu', '百度地图', gb_map_baidu)
  9 + .addMap('gaode', '高德地图', gb_map_gaode)
  10 + .changeMap(gb_map_config.getConfig().map_type);
  11 +
11 //init tree 12 //init tree
12 gb_map_gps_tree.init(function () { 13 gb_map_gps_tree.init(function () {
13 gb_map_overlay_mge.init(); 14 gb_map_overlay_mge.init();
@@ -18,7 +19,7 @@ var mapmonitor_load_ep = EventProxy.create(&#39;load_iMap&#39;, &#39;load_baidu&#39;, &#39;load_gaod @@ -18,7 +19,7 @@ var mapmonitor_load_ep = EventProxy.create(&#39;load_iMap&#39;, &#39;load_baidu&#39;, &#39;load_gaod
18 handles: { 19 handles: {
19 'n': '.real_bottom_panel #handle' 20 'n': '.real_bottom_panel #handle'
20 }, 21 },
21 - maxHeight: 650, 22 + maxHeight: 384,
22 minHeight: 18 23 minHeight: 18
23 }); 24 });
24 }); 25 });