Commit 4fbcce8dd59e13a300c20a33ab6b0f4a8aeff1ca

Authored by panzh
1 parent 8a873aff

update...

src/main/resources/static/pages/real/js/map.js
... ... @@ -81,6 +81,7 @@ var gb_real_gps_map = (function () {
81 81  
82 82 var gps_marker_arr = {}, topMarker;
83 83 var renderGps = function (arr) {
  84 + var devices = [];
84 85 var gps, m, w;
85 86 for (var i = 0, len = arr.length; i < len; i++) {
86 87 gps = arr[i];
... ... @@ -103,6 +104,17 @@ var gb_real_gps_map = (function () {
103 104 if (m.infoWindow.isOpen())
104 105 bdOpenWindow(m);
105 106 }
  107 +
  108 + devices.push(gps.deviceId);
  109 + }
  110 +
  111 + //删除多余的Marker (改变走向的)
  112 + for (var k in gps_marker_arr) {
  113 + if (devices.indexOf(k) == -1) {
  114 + map.removeOverlay(gps_marker_arr[k]);
  115 + gps_marker_arr[k] = null;
  116 + delete gps_marker_arr[k];
  117 + }
106 118 }
107 119 };
108 120  
... ... @@ -227,7 +239,7 @@ var gb_real_gps_map = (function () {
227 239 */
228 240 var focus = function (device) {
229 241 var m = gps_marker_arr[device];
230   - if(m){
  242 + if (m) {
231 243 map.setCenter(m.getPosition());
232 244 bdOpenWindow(m);
233 245 }
... ...
src/main/resources/static/pages/real/js/svg.js
... ... @@ -138,14 +138,14 @@ var gb_real_gps_svg = (function () {
138 138 draw_gps(arr);
139 139  
140 140 //渲染表格
141   - if($('.data_list', wrap).is(":visible")){
  141 + if ($('.data_list', wrap).is(":visible")) {
142 142 var htmlStr = template('real_gps_table_list-temp', rs);
143 143 $('.data_list table tbody', wrap).html(htmlStr);
144 144 $('.data_list', wrap).perfectScrollbar({suppressScrollX: true});
145 145 }
146 146  
147 147 //渲染地图
148   - if($('.map_wrap', wrap).is(":visible")) {
  148 + if ($('.map_wrap', wrap).is(":visible")) {
149 149 gb_real_gps_map.renderGps(arr);
150 150 }
151 151 };
... ... @@ -201,12 +201,15 @@ var gb_real_gps_svg = (function () {
201 201 rects.enter().append('rect').attr('_id', function (d) {
202 202 return 'rct_' + d.deviceId;
203 203 });
  204 + rects.exit().remove();
204 205  
205 206 gps_update_point(rects, svg);
206 207  
207 208 //text
208 209 var ts = gps_cont.selectAll('text').data(data, gps_key);
209   - ts.enter().append('text').attr('_id', tx_id);
  210 + ts.enter().append('text')
  211 + .attr('_id', tx_id);
  212 + ts.exit().remove();
210 213 ts.text(g_text)
211 214 gps_update_point(ts, svg);
212 215 }
... ...