echartsLinesBus.html 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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_linesBus"></title>
  9. <script type="text/javascript" include="jquery" src="../js/include-web.js"></script>
  10. <script type="text/javascript" include="echarts,ol3-echarts" src="../../dist/ol/include-ol.js"></script>
  11. </head>
  12. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
  13. <div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
  14. <script type="text/javascript">
  15. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  16. var map, option, url = host + "/iserver/services/map-china400/rest/maps/ChinaDark";
  17. var map = new ol.Map({
  18. target: 'map',
  19. controls: ol.control.defaults({attributionOptions: {collapsed: false}})
  20. .extend([new ol.supermap.control.Logo()]),
  21. view: new ol.View({
  22. center: [116.402, 39.905],
  23. zoom: 10,
  24. projection: 'EPSG:4326',
  25. multiWorld: true
  26. }),
  27. layers: [new ol.layer.Tile({
  28. source: new ol.source.TileSuperMapRest({
  29. url: url,
  30. prjCoordSys: {"epsgCode": 4326}
  31. }),
  32. projection: 'EPSG:4326'
  33. })]
  34. });
  35. var echartslayer = new ol3Echarts(null, {
  36. hideOnMoving: true,
  37. hideOnZooming: true
  38. });
  39. echartslayer.appendTo(map);
  40. $.get('../data/lines-bus.json', function (data) {
  41. var busLines = [].concat.apply([], data.map(function (busLine, idx) {
  42. var prevPt;
  43. var points = [];
  44. for (var i = 0; i < busLine.length; i += 2) {
  45. var pt = [busLine[i], busLine[i + 1]];
  46. if (i > 0) {
  47. pt = [
  48. prevPt[0] + pt[0],
  49. prevPt[1] + pt[1]
  50. ];
  51. }
  52. prevPt = pt;
  53. points.push([pt[0] / 1e4, pt[1] / 1e4]);
  54. }
  55. return {
  56. coords: points
  57. };
  58. }));
  59. option = {
  60. series: [{
  61. type: 'lines',
  62. polyline: true,
  63. data: busLines,
  64. silent: true,
  65. lineStyle: {
  66. normal: {
  67. color: 'rgb(200, 35, 45)',
  68. opacity: 0.2,
  69. width: 1
  70. }
  71. },
  72. progressiveThreshold: 500,
  73. progressive: 200
  74. }]
  75. };
  76. echartslayer.setChartOptions(option);
  77. });
  78. </script>
  79. </body>
  80. </html>