vizLayer_animatorLine.html 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <!--********************************************************************
  2. * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
  3. *********************************************************************-->
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="utf-8">
  8. <title data-i18n="resources.title_animatorLine"></title>
  9. <script type="text/javascript" src="./data/animationLineData.js"></script>
  10. <style type="text/css">
  11. body {
  12. margin: 0;
  13. overflow: hidden;
  14. background: #fff;
  15. width: 100%;
  16. height: 100%
  17. }
  18. #map {
  19. position: absolute;
  20. width: 100%;
  21. height: 100%;
  22. }
  23. #toolbar {
  24. position: absolute;
  25. top: 50px;
  26. right: 10px;
  27. text-align: center;
  28. z-index: 100;
  29. border-radius: 4px;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div id="toolbar" class="panel panel-primary">
  35. <div class='panel-heading'>
  36. <h5 class='panel-title text-center' data-i18n="resources.title_animatorLine"></h5></div>
  37. <div class='panel-body content'>
  38. <input type="button" class="btn btn-default" data-i18n="[value]resources.btn_play" onclick="startAnimator()"/>&nbsp;
  39. <input type="button" class="btn btn-default" data-i18n="[value]resources.btn_pause" onclick="pauseAnimator()"/>
  40. </div>
  41. </div>
  42. <div id="map"></div>
  43. <script type="text/javascript" include="bootstrap,widgets.alert" src="../js/include-web.js"></script>
  44. <script type="text/javascript" exclude="iclient-classic" src="../../dist/classic/include-classic.js"></script>
  45. <script>
  46. var map, layer, animatorVector;
  47. var style1 = {
  48. strokeColor: "#b6fb7e",
  49. strokeWidth: 2
  50. };
  51. var style2 =
  52. {
  53. strokeColor: "#ffff00",
  54. strokeWidth: 2
  55. };
  56. var style3 =
  57. {
  58. strokeColor: "#efad3b",
  59. strokeWidth: 2
  60. };
  61. var style4 =
  62. {
  63. strokeColor: "#ef8425",
  64. strokeWidth: 2
  65. };
  66. var style5 =
  67. {
  68. strokeColor: "#ef255e",
  69. strokeWidth: 2
  70. };
  71. var style6 =
  72. {
  73. strokeColor: "#f80f1a",
  74. strokeWidth: 2
  75. };
  76. var style7 =
  77. {
  78. strokeColor: "#ff000",
  79. strokeWidth: 2
  80. };
  81. init();
  82. function init() {
  83. if (!document.createElement('canvas').getContext) {
  84. widgets.alert.showAlert(resources.msg_supportCanvas, false);
  85. return;
  86. }
  87. //初始化地图
  88. map = new SuperMap.Map("map", {
  89. controls: [
  90. new SuperMap.Control.ScaleLine(),
  91. new SuperMap.Control.Zoom(),
  92. new SuperMap.Control.Navigation({
  93. dragPanOptions: {
  94. enableKinetic: true
  95. }
  96. })],
  97. projection: "EPSG:3857"
  98. });
  99. layer = new SuperMap.Layer.CloudLayer();
  100. //初始化动画矢量图层
  101. animatorVector = new SuperMap.Layer.AnimatorVector("Train", {}, {
  102. //设置速度为每帧播放0.01小时的数据
  103. speed: 0.01,
  104. //开始时间为12点
  105. startTime: 12,
  106. //每秒播放12帧
  107. frameRate: 12,
  108. //结束时间设置为15点
  109. endTime: 15
  110. });
  111. map.addLayers([layer, animatorVector]);
  112. map.setCenter(new SuperMap.LonLat(11586634.286396, 3588716.5813769), 12);
  113. //增加数据
  114. addLine();
  115. }
  116. //添加线数据
  117. function addLine() {
  118. var lineFeatures = [];
  119. for (var i = 0, len = lines.length; i < len; i++) {
  120. var arr = [];
  121. for (var j = 0; j < lines[i][3].length; j++) {
  122. var point = new SuperMap.Geometry.Point(lines[i][3][j][0], lines[i][3][j][1]);
  123. arr.push(point);
  124. }
  125. var line = new SuperMap.Geometry.LineString(arr);
  126. var style;
  127. if (lines[i][2] == 30) {
  128. style = style1;
  129. }
  130. else if (lines[i][2] == 31) {
  131. style = style2;
  132. }
  133. else if (lines[i][2] == 32) {
  134. style = style3;
  135. }
  136. else if (lines[i][2] == 33) {
  137. style = style4;
  138. }
  139. else if (lines[i][2] == 34) {
  140. style = style5;
  141. }
  142. else if (lines[i][2] == 35) {
  143. style = style6;
  144. }
  145. else if (lines[i][2] == 36) {
  146. style = style7;
  147. }
  148. var lineFeature = new SuperMap.Feature.Vector(line, {
  149. FEATUREID: lines[i][0],
  150. TIME: lines[i][1],
  151. TEMPERATURE: lines[i][2]
  152. }, style);
  153. lineFeatures.push(lineFeature);
  154. }
  155. animatorVector.addFeatures(lineFeatures);
  156. }
  157. //开始播放动画
  158. function startAnimator() {
  159. animatorVector.animator.start();
  160. }
  161. //暂停播放动画
  162. function pauseAnimator() {
  163. animatorVector.animator.pause();
  164. }
  165. </script>
  166. </body>
  167. </html>