|
3 | 3 | <head> |
4 | 4 | <meta charset="UTF-8"> |
5 | 5 | <title>航班监控</title> |
6 | | - <script type="text/javascript" include="jquery,bootstrap,moment,bootstrap-datetimepicker,bootstrap-select,geohash,randomcolor" src="../js/include-web.js"></script> |
| 6 | + <script type="text/javascript" |
| 7 | + include="jquery,bootstrap,moment,bootstrap-datetimepicker,bootstrap-select,geohash,randomcolor" |
| 8 | + src="../js/include-web.js"></script> |
7 | 9 | <style> |
8 | 10 | .bootstrap-select { |
9 | 11 | width: 168px !important; |
|
24 | 26 | <script type="text/javascript"> |
25 | 27 | var map; |
26 | 28 | var timeControl, |
27 | | - liveESService,//实时点查询的ESService |
28 | | - trackESService,//历史轨迹查询的ESService |
29 | | - liveRenderer,//实时点层 |
30 | | - trackRenderer,//历史轨迹层 |
31 | | - liveDataSet,//渲染用实时点数据集 |
32 | | - trackDataSet,//渲染用历史轨迹线数据集 |
33 | | - planeStyles, |
34 | | - planeLabels,//航班信息提示框集合 |
35 | | - geoFenceLabels,//地理围栏信息提示框集合 |
36 | | - geoFenceLayer, |
37 | | - dataUrl = "http://117.122.248.69:9200"; |
| 29 | + liveESService,//实时点查询的ESService |
| 30 | + trackESService,//历史轨迹查询的ESService |
| 31 | + liveRenderer,//实时点层 |
| 32 | + trackRenderer,//历史轨迹层 |
| 33 | + liveDataSet,//渲染用实时点数据集 |
| 34 | + trackDataSet,//渲染用历史轨迹线数据集 |
| 35 | + planeStyles, |
| 36 | + planeLabels,//航班信息提示框集合 |
| 37 | + geoFenceLabels,//地理围栏信息提示框集合 |
| 38 | + geoFenceLayer, |
| 39 | + dataUrl = "http://117.122.248.69:9200"; |
38 | 40 |
|
39 | 41 | var flightIdens = [ |
40 | 42 | 'CCA4189', 'CCA4187', 'CBJ5531', 'CSC8747', 'TBA9879', |
|
262 | 264 | var content = data[i].content; |
263 | 265 | var latlng = L.latLng(content.y, content.x); |
264 | 266 | var labelContent = "航班: " + content.ident + "<br>" + |
265 | | - "始发地: " + content.origin + "/" + content.originLabel + "<br>" + |
266 | | - "目的地: " + content.destination + "/" + content.destinationLabel + "<br>" + |
267 | | - "时间: " + content.datetime; |
| 267 | + "始发地: " + content.origin + "/" + content.originLabel + "<br>" + |
| 268 | + "目的地: " + content.destination + "/" + content.destinationLabel + "<br>" + |
| 269 | + "时间: " + content.datetime; |
268 | 270 | if (!planeLabels[content.ident]) { |
269 | 271 | planeLabels[content.ident] = L.popup({ |
270 | 272 | closeOnClick: false, |
|
337 | 339 | function getControlOptions() { |
338 | 340 | var startTime = $("#startTime").val(); |
339 | 341 | var endTime = $("#endTime").val(); |
340 | | - startTime = Date.parse(new Date(startTime)); |
341 | | - endTime = Date.parse(new Date(endTime)); |
| 342 | + startTime = new Date(Date.parse(startTime.replace(/-/g, "/"))).getTime(); |
| 343 | + endTime = new Date(Date.parse(endTime.replace(/-/g, "/"))).getTime(); |
342 | 344 | var speed = $("#speed").val(); |
343 | 345 | speed = (speed > 0) ? speed : 1000; |
344 | 346 | speed = parseInt(speed); |
|
407 | 409 | var attr = 'Data © <a href="https://www.elastic.co/products/elasticsearch" target="_blank">Elasticsearch</a> Map Data <span>© <a href="http://support.supermap.com.cn/product/iServer.aspx" target="_blank">SuperMap iServer</a></span> with <span>© <a href="http://iclient.supermap.io" target="_blank">SuperMap iClient</a></span>'; |
408 | 410 | var host = window.isLocal ? window.server : "http://support.supermap.com.cn:8090"; |
409 | 411 | var url = host + "/iserver/services/map-china400/rest/maps/ChinaDark"; |
410 | | - L.supermap.tiledMapLayer(url,{attribution:attr}).addTo(map); |
| 412 | + L.supermap.tiledMapLayer(url, {attribution: attr}).addTo(map); |
411 | 413 | } |
412 | 414 |
|
413 | 415 | initTimeControlView(); |
|
422 | 424 | me._div = L.DomUtil.create('div', 'panel panel-primary controlPane'); |
423 | 425 | me._div.style.width = "300px"; |
424 | 426 | var titleDiv = $("<div class='panel-heading text-center' id='toggle' style='cursor: pointer'>" + |
425 | | - "<span class='panel-title text-center'>控制台</span> " + |
426 | | - "<span class='glyphicon glyphicon-triangle-top' id='toggleIcon' ></span></div>").appendTo(me._div); |
| 427 | + "<span class='panel-title text-center'>控制台</span> " + |
| 428 | + "<span class='glyphicon glyphicon-triangle-top' id='toggleIcon' ></span></div>").appendTo(me._div); |
427 | 429 |
|
428 | 430 | var contentDiv = $("<div class='panel-body content center-block' style='font-size: 14px'></div>").appendTo(me._div); |
429 | 431 |
|
430 | 432 | var optionsDiv = $("<div class='' id='options'></div>").appendTo(contentDiv); |
431 | 433 |
|
432 | 434 | $("<div class='form-group'><label class='text-right' for='flightIds' >" + |
433 | | - "航班号<span style='color:red'>*</span></label>" + |
434 | | - "<select class='selectpicker ' id='flightIds' multiple data-actions-box='true' title='请选择'>" + |
435 | | - initSelectOpitons() + |
436 | | - "</select></div><hr/>").appendTo(optionsDiv); |
| 435 | + "航班号<span style='color:red'>*</span></label>" + |
| 436 | + "<select class='selectpicker ' id='flightIds' multiple data-actions-box='true' title='请选择'>" + |
| 437 | + initSelectOpitons() + |
| 438 | + "</select></div><hr/>").appendTo(optionsDiv); |
437 | 439 |
|
438 | 440 | function initSelectOpitons() { |
439 | 441 | var str = ''; |
|
451 | 453 | var defaultOption = getDefaultControlOptions(); |
452 | 454 | var defaultGeoFence = getDefaultGeoFence(); |
453 | 455 | $("<div class='form-group form-inline'><label class='text-right' for='geoFence' >地理围栏</label>" + |
454 | | - "<input id='geoFence' type='text' class='form-control input-sm' placeholder='" + JSON.stringify(defaultGeoFence) + |
455 | | - "' value='" + JSON.stringify(defaultGeoFence) + "'/></div></div><hr/>").appendTo(optionsDiv); |
| 456 | + "<input id='geoFence' type='text' class='form-control input-sm' placeholder='" + JSON.stringify(defaultGeoFence) + |
| 457 | + "' value='" + JSON.stringify(defaultGeoFence) + "'/></div></div><hr/>").appendTo(optionsDiv); |
456 | 458 |
|
457 | 459 | $("<div class='form-group form-inline'><label class='text-right' for='startTime' >起始时间<span style='color:red'>*</span></label>" + |
458 | | - "<input id='startTime' type='text' class='form-control input-sm' placeholder='" + defaultOption.startTime + |
459 | | - "' value='" + defaultOption.startTime + "'/></div></div>").appendTo(optionsDiv); |
| 460 | + "<input id='startTime' type='text' class='form-control input-sm' placeholder='" + defaultOption.startTime + |
| 461 | + "' value='" + defaultOption.startTime + "'/></div></div>").appendTo(optionsDiv); |
460 | 462 |
|
461 | 463 | $("<div class='form-group form-inline'><label class='text-right' for='endTime' >终止时间<span style='color:red'>*</span></label>" + |
462 | | - "<input id='endTime' type='text' class='form-control input-sm' placeholder='" + defaultOption.endTime + |
463 | | - "' value='" + defaultOption.endTime + "'/></div></div>").appendTo(optionsDiv); |
| 464 | + "<input id='endTime' type='text' class='form-control input-sm' placeholder='" + defaultOption.endTime + |
| 465 | + "' value='" + defaultOption.endTime + "'/></div></div>").appendTo(optionsDiv); |
464 | 466 |
|
465 | 467 | $("<div class='form-group form-inline'><label class='text-right' for='speed' >刷新步长(ms)</label>" + |
466 | | - "<input id='speed' type='number' min='1' class='form-control input-sm' placeholder='" + defaultOption.speed + |
467 | | - "' value='" + defaultOption.speed + "'/></div></div>").appendTo(optionsDiv); |
| 468 | + "<input id='speed' type='number' min='1' class='form-control input-sm' placeholder='" + defaultOption.speed + |
| 469 | + "' value='" + defaultOption.speed + "'/></div></div>").appendTo(optionsDiv); |
468 | 470 |
|
469 | 471 | $("<div class='form-group form-inline'><label class='text-right' for='frequency' >刷新频率(ms)</label>" + |
470 | | - "<input id='frequency' type='number' min='1' class='form-control input-sm' placeholder='" + defaultOption.frequency + |
471 | | - "' value='" + defaultOption.frequency + "'/></div></div>").appendTo(optionsDiv); |
| 472 | + "<input id='frequency' type='number' min='1' class='form-control input-sm' placeholder='" + defaultOption.frequency + |
| 473 | + "' value='" + defaultOption.frequency + "'/></div></div>").appendTo(optionsDiv); |
472 | 474 |
|
473 | 475 | var progressDiv = $("<div class='form-group'><div class='form-horizontal text-center'><div class='form-group'>" + |
474 | | - "<label for='progress'>当前时间:</label><span class='form-control-static' id='progress'>未开始</span>" + |
475 | | - "</div></div></div>").appendTo(contentDiv); |
| 476 | + "<label for='progress'>当前时间:</label><span class='form-control-static' id='progress'>未开始</span>" + |
| 477 | + "</div></div></div>").appendTo(contentDiv); |
476 | 478 |
|
477 | 479 | var controlDiv = $("<section><div class='form-inline text-center'>" + |
478 | | - "<input id='start' type='button' class='btn btn-default text-center' value='开始'/> " + |
479 | | - "<input id='pause' type='button' class='btn btn-default text-center' value='暂停'/> " + |
480 | | - "<input id='stop' type='button' class='btn btn-default text-center' value='停止'/>" + |
481 | | - "</div></section>").appendTo(contentDiv); |
| 480 | + "<input id='start' type='button' class='btn btn-default text-center' value='开始'/> " + |
| 481 | + "<input id='pause' type='button' class='btn btn-default text-center' value='暂停'/> " + |
| 482 | + "<input id='stop' type='button' class='btn btn-default text-center' value='停止'/>" + |
| 483 | + "</div></section>").appendTo(contentDiv); |
482 | 484 |
|
483 | 485 |
|
484 | 486 | me._div.addEventListener('mouseover', function () { |
|
0 commit comments