Commit 60ac9bcf3707328c71105982c1a7f991f1ed83d8
Merge branch 'minhang' of
http://222.66.0.204:8090/panzhaov5/bsth_control into minhang
Showing
12 changed files
with
236 additions
and
27 deletions
src/main/resources/static/real_control_v2/css/main.css
| ... | ... | @@ -1141,6 +1141,10 @@ dl.intimity span.late-badge{ |
| 1141 | 1141 | color: red; |
| 1142 | 1142 | } |
| 1143 | 1143 | |
| 1144 | +.tip_task_list dl.service.temp_add{ | |
| 1145 | + color: #9C27B0; | |
| 1146 | +} | |
| 1147 | + | |
| 1144 | 1148 | .tip_task_list dl span{ |
| 1145 | 1149 | margin: 0; |
| 1146 | 1150 | width: auto; |
| ... | ... | @@ -1719,4 +1723,17 @@ dl.active>dd.disabled{ |
| 1719 | 1723 | |
| 1720 | 1724 | .ct_eye_icon.active{ |
| 1721 | 1725 | color: #444; |
| 1726 | +} | |
| 1727 | + | |
| 1728 | +#tempScheduleContent .forms::-webkit-scrollbar { | |
| 1729 | + width: 19px; | |
| 1730 | + height: 16px; | |
| 1731 | +} | |
| 1732 | + | |
| 1733 | +.range_2_normal_tt{ | |
| 1734 | + margin-bottom: 15px; | |
| 1735 | + border-top: 1px dashed #c7c7c7; | |
| 1736 | + color: #a6a6a6; | |
| 1737 | + text-indent: 7px; | |
| 1738 | + padding-bottom: 5px; | |
| 1722 | 1739 | } |
| 1723 | 1740 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/badge_tooltip.html
| ... | ... | @@ -10,7 +10,7 @@ |
| 10 | 10 | <dt>备注</dt> |
| 11 | 11 | </dl> |
| 12 | 12 | {{each tasks as t i}} |
| 13 | - <dl class="{{t.mileageType}} {{if t.destroy}}destroy{{/if}}"> | |
| 13 | + <dl class="{{t.mileageType}} {{if t.destroy}}destroy{{/if}} {{if t.type1=='临加'}}temp_add{{/if}}"> | |
| 14 | 14 | <dd> |
| 15 | 15 | {{if t.mileageType=="service"}} |
| 16 | 16 | 营运 |
| ... | ... | @@ -23,6 +23,8 @@ |
| 23 | 23 | <span>(进场)</span> |
| 24 | 24 | {{else if t.type2==3}} |
| 25 | 25 | <span>(出场)</span> |
| 26 | + {{else if t.type1=='临加'}} | |
| 27 | + <span>(临加)</span> | |
| 26 | 28 | {{/if}} |
| 27 | 29 | </dd> |
| 28 | 30 | <dd> | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task_v2/add_custom.html
| ... | ... | @@ -130,6 +130,14 @@ |
| 130 | 130 | function $f(name, f) { |
| 131 | 131 | return $('[name=' + name + ']', f); |
| 132 | 132 | } |
| 133 | + | |
| 134 | + /** | |
| 135 | + * 备注级联 | |
| 136 | + */ | |
| 137 | + $(wrap).on('input', '[name=remarks]', function () { | |
| 138 | + var nfs = $(this).parents('.sub_task_form_v2').nextAll('.sub_task_form_v2'); | |
| 139 | + $('[name=remarks]', nfs).val($(this).val()); | |
| 140 | + }); | |
| 133 | 141 | })(); |
| 134 | 142 | </script> |
| 135 | 143 | </div> |
| 136 | 144 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task_v2/add_in_out.html
| ... | ... | @@ -85,7 +85,7 @@ |
| 85 | 85 | */ |
| 86 | 86 | function repeat_main(f) { |
| 87 | 87 | f.addClass('repeat_main'); |
| 88 | - $f('type2', f).html('<option value="1">线路上站点间</option>'); | |
| 88 | + $f('type2', f).html('<option value="1">线路上站点间</option>').attr('disabled', 'disabled'); | |
| 89 | 89 | $f('mileage', f).val(sch.jhlc).trigger('input'); |
| 90 | 90 | $f('mileageType', f).val('service').attr('disabled', 'disabled'); |
| 91 | 91 | //主任务是烂班 |
| ... | ... | @@ -105,7 +105,7 @@ |
| 105 | 105 | } |
| 106 | 106 | |
| 107 | 107 | function repeat_In(f) { |
| 108 | - $f('type2', f).html('<option value="2">进场</option>').trigger('change'); | |
| 108 | + $f('type2', f).html('<option value="2">进场</option>').trigger('change').attr('disabled', 'disabled');; | |
| 109 | 109 | if (sch.status != -1) |
| 110 | 110 | $f('startStation', f).val(sch.zdzCode);//主任务终点进场 |
| 111 | 111 | |
| ... | ... | @@ -116,7 +116,7 @@ |
| 116 | 116 | } |
| 117 | 117 | |
| 118 | 118 | function repeat_Out(f) { |
| 119 | - $f('type2', f).html('<option value="3">出场</option>').trigger('change'); | |
| 119 | + $f('type2', f).html('<option value="3">出场</option>').trigger('change').attr('disabled', 'disabled');; | |
| 120 | 120 | |
| 121 | 121 | var code; |
| 122 | 122 | if (sch.status != -1) |
| ... | ... | @@ -180,7 +180,7 @@ |
| 180 | 180 | //烂班 |
| 181 | 181 | $f('destroy',half_form)[0].checked=true; |
| 182 | 182 | $f('mileageType',half_form).attr('disabled','disabled'); |
| 183 | - $f('type2',half_form).html('<option value="1">线路上站点间</option>'); | |
| 183 | + $f('type2',half_form).html('<option value="1">线路上站点间</option>').attr('disabled', 'disabled');; | |
| 184 | 184 | $('.destroy_reason_wrap',half_form).show(); |
| 185 | 185 | half_form.attr('destroy', true); |
| 186 | 186 | |
| ... | ... | @@ -326,6 +326,14 @@ |
| 326 | 326 | }); |
| 327 | 327 | return flag; |
| 328 | 328 | } |
| 329 | + | |
| 330 | + /** | |
| 331 | + * 备注级联 | |
| 332 | + */ | |
| 333 | + $(wrap).on('input', '[name=remarks]', function () { | |
| 334 | + var nfs = $(this).parents('.sub_task_form_v2').nextAll('.sub_task_form_v2'); | |
| 335 | + $('[name=remarks]', nfs).val($(this).val()); | |
| 336 | + }); | |
| 329 | 337 | })(); |
| 330 | 338 | </script> |
| 331 | 339 | </div> |
| 332 | 340 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task_v2/add_range_normal.html
| 1 | 1 | <!-- 区间变全程 --> |
| 2 | 2 | <div class="add_range_2_normal"> |
| 3 | - <div class="err_panel">暂不开放使用</div> | |
| 4 | - <!--<div class="forms"></div> | |
| 3 | + <div class="forms"></div> | |
| 5 | 4 | |
| 6 | 5 | <div class="uk-modal-footer uk-text-right" style="margin-top: 5px;"> |
| 7 | 6 | <button type="button" class="uk-button uk-modal-close">取消</button> |
| ... | ... | @@ -10,38 +9,152 @@ |
| 10 | 9 | <script> |
| 11 | 10 | (function () { |
| 12 | 11 | var wrap = '#add-sub-task-main-modal .add_range_2_normal', |
| 13 | - sch,f1,tf1; | |
| 12 | + sch,nextSch,f1,tf1,f2,tf2; | |
| 14 | 13 | |
| 15 | 14 | $(wrap).on('init', function (e, data) { |
| 16 | 15 | e.stopPropagation(); |
| 17 | 16 | sch = data.sch; |
| 17 | + nextSch = gb_schedule_table.getNextSch(sch); | |
| 18 | 18 | |
| 19 | + if(sch.bcType!='region'){ | |
| 20 | + $(wrap).html('<div class="err_panel">该模板只能应用区间班次!</div>'); | |
| 21 | + return; | |
| 22 | + } | |
| 19 | 23 | f1 = addTaskForm(); |
| 20 | - tf1 = addTaskForm(); | |
| 21 | - tf1.addClass('temp_service'); | |
| 24 | + tf1 = addTaskForm().addClass('temp_service'); | |
| 25 | + changeField(f1, tf1); | |
| 26 | + | |
| 27 | + //返程也是区间 | |
| 28 | + if(nextSch.bcType=='region'){ | |
| 29 | + var u_d_input = '<input name="upDown" type="hidden" value="'+nextSch.xlDir+'">'; | |
| 30 | + tf1.after('<div class="range_2_normal_tt">返程</div>'); | |
| 31 | + tf2 = addTaskForm(u_d_input).addClass('temp_service'); | |
| 32 | + f2 = addTaskForm(u_d_input); | |
| 33 | + | |
| 34 | + changeField(f2, tf2); | |
| 35 | + } | |
| 36 | + | |
| 37 | + //设置默认值 | |
| 38 | + setDefaultVal(); | |
| 22 | 39 | }); |
| 23 | 40 | |
| 24 | - function addTaskForm() { | |
| 41 | + function addTaskForm(upDownInput) { | |
| 25 | 42 | var htmlStr = template('sub-task-v2-form-temp', {sch: sch}); |
| 26 | 43 | var f = $(htmlStr); |
| 27 | 44 | $('.forms', wrap).append(f); |
| 45 | + | |
| 46 | + if(upDownInput) | |
| 47 | + f.append(upDownInput); | |
| 28 | 48 | //字典转换 |
| 29 | 49 | dictionaryUtils.transformDom($('.nt-dictionary', f)); |
| 30 | 50 | |
| 31 | 51 | //班次类型切换 |
| 32 | 52 | $('select[name=type2]', f).trigger('change'); |
| 33 | 53 | |
| 34 | - //滚动条到底 | |
| 35 | - $('.forms', wrap).scrollTop($('.forms', wrap)[0].scrollHeight); | |
| 36 | - | |
| 37 | 54 | f.formValidation({ |
| 38 | 55 | framework: 'uikit', |
| 39 | 56 | locale: 'zh_CN' |
| 40 | 57 | }).on('add_reason_field', function () { |
| 41 | 58 | $(this).formValidation('addField', 'reason'); |
| 42 | 59 | }); |
| 60 | + | |
| 61 | + $f('type2', f).attr('disabled', 'disabled'); | |
| 43 | 62 | return f; |
| 44 | 63 | } |
| 64 | + | |
| 65 | + function $f(name, f) { | |
| 66 | + return $('[name=' + name + ']', f); | |
| 67 | + } | |
| 68 | + | |
| 69 | + function changeField(f, tf) { | |
| 70 | + $f('type1', tf).val('临加'); | |
| 71 | + $f('mileageType', tf).html('<option value="service">临加</option>'); | |
| 72 | + $f('destroy', f).parents('.uk-form-controls').hide(); | |
| 73 | + $f('destroy', tf).parents('.uk-form-controls').hide(); | |
| 74 | + } | |
| 75 | + | |
| 76 | + /** | |
| 77 | + * 设置默认值 | |
| 78 | + */ | |
| 79 | + function setDefaultVal() { | |
| 80 | + $f('startStation', f1).attr('disabled', 'disabled'); | |
| 81 | + $f('endStation', f1).val(sch.zdzCode).trigger('change').attr('disabled', 'disabled'); | |
| 82 | + $f('startStation', tf1).val(sch.zdzCode).trigger('change'); | |
| 83 | + | |
| 84 | + //tf1 startDate | |
| 85 | + $f('startDate', tf1).val($f('endDate', f1).val()).trigger('input'); | |
| 86 | + if(tf2){ | |
| 87 | + $('[sch_id_inp]', tf2).val(nextSch.id); | |
| 88 | + $f('endStation', tf2).val(nextSch.qdzCode).trigger('change'); | |
| 89 | + } | |
| 90 | + if(f2){ | |
| 91 | + $('[sch_id_inp]', f2).val(nextSch.id); | |
| 92 | + $f('endStation', f2).val(nextSch.zdzCode).attr('disabled', 'disabled'); | |
| 93 | + $f('startStation', f2).val(nextSch.qdzCode).trigger('change').attr('disabled', 'disabled'); | |
| 94 | + $f('mileage', f2).val(nextSch.jhlc); | |
| 95 | + $f('startDate', f2).val($f('endDate', tf2).val()).trigger('change'); | |
| 96 | + } | |
| 97 | + } | |
| 98 | + | |
| 99 | + /** | |
| 100 | + * 备注级联 | |
| 101 | + */ | |
| 102 | + $(wrap).on('input', '[name=remarks]', function () { | |
| 103 | + var nfs = $(this).parents('.sub_task_form_v2').nextAll('.sub_task_form_v2'); | |
| 104 | + $('[name=remarks]', nfs).val($(this).val()); | |
| 105 | + }); | |
| 106 | + | |
| 107 | + | |
| 108 | + //提交 | |
| 109 | + $('button[type=submit]', wrap).on('click', function () { | |
| 110 | + $(this).addClass('disabled').attr('disabled','disabled'); | |
| 111 | + dataArray = []; | |
| 112 | + $('form.sub_task_form_v2', wrap).data('valid', false) | |
| 113 | + .formValidation('validate'); | |
| 114 | + }); | |
| 115 | + | |
| 116 | + var dataArray = []; | |
| 117 | + $(wrap).on('success.form.fv', 'form.sub_task_form_v2', function (e) { | |
| 118 | + e.preventDefault(); | |
| 119 | + | |
| 120 | + dataArray.push($.extend($(this).serializeJSON(), gb_common.getDisabledVal(this))); | |
| 121 | + $(this).data('valid', true); | |
| 122 | + | |
| 123 | + if (allValidSuccess()) { | |
| 124 | + var i = 0; | |
| 125 | + (function () { | |
| 126 | + var f = arguments.callee; | |
| 127 | + if (i >= dataArray.length) { | |
| 128 | + UIkit.modal('#add-sub-task-main-modal').hide(); | |
| 129 | + $('#schedule-lj_zrw-modal .main-schedule-table').trigger('refresh', {sch: sch}); | |
| 130 | + return; | |
| 131 | + } | |
| 132 | + var data = dataArray[i]; | |
| 133 | + gb_common.$post('/childTask', data, function (rs) { | |
| 134 | + notify_succ('子任务添加成功'); | |
| 135 | + gb_schedule_table.updateSchedule(rs.t); | |
| 136 | + i++; | |
| 137 | + f(); | |
| 138 | + }); | |
| 139 | + })(); | |
| 140 | + } | |
| 141 | + }); | |
| 142 | + //校验不过 | |
| 143 | + $(wrap).on('err.field.fv','form.sub_task_form_v2', function () { | |
| 144 | + $('button[type=submit]', wrap).removeClass('disabled').removeAttr('disabled'); | |
| 145 | + }); | |
| 146 | + | |
| 147 | + function allValidSuccess() { | |
| 148 | + var flag = true; | |
| 149 | + $('form.sub_task_form_v2', wrap).each(function (i, f) { | |
| 150 | + if(!$(f).data('valid')){ | |
| 151 | + flag = false; | |
| 152 | + return false; | |
| 153 | + } | |
| 154 | + }); | |
| 155 | + return flag; | |
| 156 | + } | |
| 157 | + | |
| 45 | 158 | })(); |
| 46 | - </script>--> | |
| 159 | + </script> | |
| 47 | 160 | </div> |
| 48 | 161 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task_v2/add_range_turn.html
| ... | ... | @@ -305,6 +305,14 @@ |
| 305 | 305 | return routes[i].stationCode; |
| 306 | 306 | } |
| 307 | 307 | } |
| 308 | + | |
| 309 | + /** | |
| 310 | + * 备注级联 | |
| 311 | + */ | |
| 312 | + $(wrap).on('input', '[name=remarks]', function () { | |
| 313 | + var nfs = $(this).parents('.sub_task_form_v2').nextAll('.sub_task_form_v2'); | |
| 314 | + $('[name=remarks]', nfs).val($(this).val()); | |
| 315 | + }); | |
| 308 | 316 | })(); |
| 309 | 317 | </script> |
| 310 | 318 | </div> |
| 311 | 319 | \ No newline at end of file | ... | ... |
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/sub_task_v2/main.html
| ... | ... | @@ -248,7 +248,7 @@ |
| 248 | 248 | $('.add_range_wrap', modal).trigger('init', data); |
| 249 | 249 | //区间变全程 |
| 250 | 250 | $('.rangeToNormal', modal).html(st_doms.range_2_normal_dom); |
| 251 | - //$('.add_range_2_normal', modal).trigger('init', data); | |
| 251 | + $('.add_range_2_normal', modal).trigger('init', data); | |
| 252 | 252 | } |
| 253 | 253 | }); |
| 254 | 254 | ... | ... |
src/main/resources/static/real_control_v2/js/line_schedule/badge_tooltip.js
| ... | ... | @@ -46,10 +46,21 @@ var gb_schedule_badge_tootip = (function () { |
| 46 | 46 | text: function() { |
| 47 | 47 | var sch = getSch(this); |
| 48 | 48 | //子任务排序 |
| 49 | + $.each(sch.cTasks, function () { | |
| 50 | + if(this.mileageType=='service'){ | |
| 51 | + if(this.type1=='正常') | |
| 52 | + this.order_no=0; | |
| 53 | + else | |
| 54 | + this.order_no=1; | |
| 55 | + | |
| 56 | + if(this.destroy) | |
| 57 | + this.order_no=2; | |
| 58 | + } | |
| 59 | + else | |
| 60 | + this.order_no=this.type2 + 1; | |
| 61 | + }); | |
| 49 | 62 | var array = sch.cTasks.sort(function (a, b) { |
| 50 | - var an = (a.mileageType=='service'?1:0)+''+(a.destroy?0:1); | |
| 51 | - var bn = (b.mileageType=='service'?1:0)+''+(b.destroy?0:1); | |
| 52 | - return parseInt(bn) - parseInt(an); | |
| 63 | + return a.order_no - b.order_no; | |
| 53 | 64 | }); |
| 54 | 65 | return temps['sch-table-task-tootip-temp']({tasks: array}); |
| 55 | 66 | } | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/css/real.css
| ... | ... | @@ -1265,7 +1265,7 @@ span.flatpickr-weekday{ |
| 1265 | 1265 | } |
| 1266 | 1266 | |
| 1267 | 1267 | .gps-play-back-panel-v3 .trail-info-table{ |
| 1268 | - width: 470px; | |
| 1268 | + width: 520px; | |
| 1269 | 1269 | } |
| 1270 | 1270 | |
| 1271 | 1271 | .gps-play-back-panel-v3 .ct_table>.ct_table_body{ |
| ... | ... | @@ -1283,17 +1283,20 @@ span.flatpickr-weekday{ |
| 1283 | 1283 | } |
| 1284 | 1284 | |
| 1285 | 1285 | .gps-play-back-panel-v3 .trail-info-table dl dt:nth-of-type(1), .gps-play-back-panel-v3 .trail-info-table dl dd:nth-of-type(1) { |
| 1286 | - width: 20%; | |
| 1286 | + width: 16%; | |
| 1287 | 1287 | text-indent: 15px; |
| 1288 | 1288 | } |
| 1289 | 1289 | .gps-play-back-panel-v3 .trail-info-table dl dt:nth-of-type(2), .gps-play-back-panel-v3 .trail-info-table dl dd:nth-of-type(2) { |
| 1290 | - width: 16%; | |
| 1290 | + width: 12%; | |
| 1291 | 1291 | } |
| 1292 | 1292 | .gps-play-back-panel-v3 .trail-info-table dl dt:nth-of-type(3), .gps-play-back-panel-v3 .trail-info-table dl dd:nth-of-type(3) { |
| 1293 | - width: 13%; | |
| 1293 | + width: 10%; | |
| 1294 | 1294 | } |
| 1295 | 1295 | .gps-play-back-panel-v3 .trail-info-table dl dt:nth-of-type(4), .gps-play-back-panel-v3 .trail-info-table dl dd:nth-of-type(4) { |
| 1296 | - width: 50%; | |
| 1296 | + width: 40%; | |
| 1297 | +} | |
| 1298 | +.gps-play-back-panel-v3 .trail-info-table dl dt:nth-of-type(5), .gps-play-back-panel-v3 .trail-info-table dl dd:nth-of-type(5) { | |
| 1299 | + width: 21%; | |
| 1297 | 1300 | border-right: 0; |
| 1298 | 1301 | } |
| 1299 | 1302 | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/fragments/playback_v3/layout.html
src/main/resources/static/real_control_v2/mapmonitor/fragments/playback_v3/left.html
| ... | ... | @@ -75,6 +75,7 @@ |
| 75 | 75 | <dt>速度</dt> |
| 76 | 76 | <dt>上下行</dt> |
| 77 | 77 | <dt>所在路段</dt> |
| 78 | + <dt>车载线路</dt> | |
| 78 | 79 | </dl> |
| 79 | 80 | </div> |
| 80 | 81 | <div class="ct_table_body"></div> |
| ... | ... | @@ -204,6 +205,11 @@ |
| 204 | 205 | show_load_btn(this); |
| 205 | 206 | //查询数据 |
| 206 | 207 | get_server_trail_data(data, function (rs) { |
| 208 | + //线路名称 | |
| 209 | + var code2Name = gb_data_basic.lineCode2NameAll(); | |
| 210 | + $.each(rs.list, function () { | |
| 211 | + this.lineName = code2Name[this.lineId]; | |
| 212 | + }); | |
| 207 | 213 | //排序 |
| 208 | 214 | rs.list.sort(function (a, b) { |
| 209 | 215 | return parseInt((a.ts - b.ts) + '' + (a.stop_no - b.stop_no)); | ... | ... |
src/main/resources/static/real_control_v2/mapmonitor/fragments/playback_v3/right.html
| ... | ... | @@ -77,6 +77,7 @@ |
| 77 | 77 | var step; |
| 78 | 78 | var timeTip = $('.ui-slider-tip', rightWrap); |
| 79 | 79 | var scale = $('.scale', progress); |
| 80 | + var play_before_flag; | |
| 80 | 81 | |
| 81 | 82 | $('.play-back-tools-wrap', rightWrap).on('ready-to-play', function (e, data) { |
| 82 | 83 | e.stopPropagation(); |
| ... | ... | @@ -94,6 +95,12 @@ |
| 94 | 95 | $('.top-btn-list', rightWrap).removeClass('disabled').find('[disabled]').removeAttr('disabled'); |
| 95 | 96 | //xlPolyline.lineId=gpsArray[0].lineId; |
| 96 | 97 | //xlPolyline.upDown=gpsArray[0].upDown; |
| 98 | + | |
| 99 | + /** | |
| 100 | + * 默认显示完整的地图轨迹 | |
| 101 | + */ | |
| 102 | + play_before_goto(gpsArray.length - 1); | |
| 103 | + play_before_flag=true; | |
| 97 | 104 | }); |
| 98 | 105 | |
| 99 | 106 | |
| ... | ... | @@ -176,6 +183,11 @@ |
| 176 | 183 | return; |
| 177 | 184 | |
| 178 | 185 | if(!$(this).hasClass('pause')){ |
| 186 | + //第一次点击播放,清除一下 | |
| 187 | + if(play_before_flag){ | |
| 188 | + reset(); | |
| 189 | + play_before_flag = false; | |
| 190 | + } | |
| 179 | 191 | $(this).addClass('pause'); |
| 180 | 192 | if(index>=gpsArray.length-1){ |
| 181 | 193 | goto(0); |
| ... | ... | @@ -441,9 +453,9 @@ |
| 441 | 453 | trailPolyline.setPath(trailArray); |
| 442 | 454 | } |
| 443 | 455 | |
| 444 | - //最多记录1000个点位轨迹线条 | |
| 445 | - if(trailArray.length > 1000) | |
| 446 | - trailArray = trailArray.slice(trailArray.length - 1000); | |
| 456 | + //最多记录4000个点位轨迹线条 | |
| 457 | + if(trailArray.length > 4000) | |
| 458 | + trailArray = trailArray.slice(trailArray.length - 4000); | |
| 447 | 459 | } |
| 448 | 460 | |
| 449 | 461 | var trailTbody = leftWrap + ' .trail-info-table .ct_table_body', |
| ... | ... | @@ -610,6 +622,26 @@ |
| 610 | 622 | } |
| 611 | 623 | } |
| 612 | 624 | |
| 625 | + function play_before_goto(ei) { | |
| 626 | + if (ei < 0 || ei >= gpsArray.length) | |
| 627 | + return; | |
| 628 | + | |
| 629 | + var gps = gpsArray[ei]; | |
| 630 | + //更新gps marker | |
| 631 | + drawCarMarker(gps); | |
| 632 | + //更新轨迹线条 | |
| 633 | + trailArray = []; | |
| 634 | + var i = 0; | |
| 635 | + if(ei > 1000) | |
| 636 | + i = ei - 1000; | |
| 637 | + for (; i < ei; i++) | |
| 638 | + trailArray.push(new BMap.Point(gpsArray[i].bd_lon, gpsArray[i].bd_lat)); | |
| 639 | + updateTrailLine(gpsArray[ei], ei); | |
| 640 | + | |
| 641 | + //居中 | |
| 642 | + map.panTo(gpsMarker.getPosition()); | |
| 643 | + } | |
| 644 | + | |
| 613 | 645 | /** |
| 614 | 646 | * 初始化停车场下拉菜单 |
| 615 | 647 | */ | ... | ... |