echartsScatterWeibo.html 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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_scatterWeibo"></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. <style>
  12. .ol-overlaycontainer-stopevent{
  13. height: 0% !important;
  14. }
  15. </style>
  16. </head>
  17. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
  18. <div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
  19. <script type="text/javascript">
  20. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  21. var map, option, url = host + "/iserver/services/map-china400/rest/maps/ChinaDark";
  22. var map = new ol.Map({
  23. target: 'map',
  24. controls: ol.control.defaults({attributionOptions: {collapsed: false}})
  25. .extend([new ol.supermap.control.Logo()]),
  26. view: new ol.View({
  27. center: [104, 36],
  28. zoom: 5,
  29. projection: 'EPSG:4326',
  30. multiWorld: true
  31. }),
  32. layers: [new ol.layer.Tile({
  33. source: new ol.source.TileSuperMapRest({
  34. url: url,
  35. prjCoordSys: {"epsgCode": 4326}
  36. }),
  37. projection: 'EPSG:4326'
  38. })]
  39. });
  40. var echartslayer = new ol3Echarts(null, {
  41. hideOnMoving: true,
  42. hideOnZooming: true
  43. });
  44. echartslayer.appendTo(map);
  45. $.get('../data/weibo.json', function (weiboData) {
  46. weiboData = weiboData.map(function (serieData, idx) {
  47. var px = serieData[0] / 1000;
  48. var py = serieData[1] / 1000;
  49. var res = [
  50. [px, py]
  51. ];
  52. for (var i = 2; i < serieData.length; i += 2) {
  53. var dx = serieData[i] / 1000;
  54. var dy = serieData[i + 1] / 1000;
  55. var x = px + dx;
  56. var y = py + dy;
  57. res.push([x.toFixed(2), y.toFixed(2), 1]);
  58. px = x;
  59. py = y;
  60. }
  61. return res;
  62. });
  63. option = {
  64. title: {
  65. text: resources.text_weiboChina,
  66. subtext: 'From ThinkGIS',
  67. sublink: 'http://www.thinkgis.cn/public/sina',
  68. left: 'center',
  69. top: 'top',
  70. textStyle: {
  71. color: '#fff'
  72. }
  73. },
  74. tooltip: {},
  75. legend: {
  76. left: 'left',
  77. top: 'bottom',
  78. data: ['强', '中', '弱'],
  79. textStyle: {
  80. color: '#ccc'
  81. }
  82. },
  83. series: [{
  84. name: '弱',
  85. type: 'scatter',
  86. coordinateSystem: 'geo',
  87. symbolSize: 1,
  88. large: true,
  89. itemStyle: {
  90. normal: {
  91. shadowBlur: 2,
  92. shadowColor: 'rgba(37, 140, 249, 0.8)',
  93. color: 'rgba(37, 140, 249, 0.8)'
  94. }
  95. },
  96. data: weiboData[0]
  97. }, {
  98. name: '中',
  99. type: 'scatter',
  100. symbolSize: 1,
  101. large: true,
  102. itemStyle: {
  103. normal: {
  104. shadowBlur: 2,
  105. shadowColor: 'rgba(14, 241, 242, 0.8)',
  106. color: 'rgba(14, 241, 242, 0.8)'
  107. }
  108. },
  109. data: weiboData[1]
  110. }, {
  111. name: '强',
  112. type: 'scatter',
  113. symbolSize: 1,
  114. large: true,
  115. itemStyle: {
  116. normal: {
  117. shadowBlur: 2,
  118. shadowColor: 'rgba(255, 255, 255, 0.8)',
  119. color: 'rgba(255, 255, 255, 0.8)'
  120. }
  121. },
  122. data: weiboData[2]
  123. }]
  124. };
  125. echartslayer.setChartOptions(option);
  126. });
  127. </script>
  128. </body>
  129. </html>