earthquakeHeatMapLayer.html 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
  9. <title data-i18n="resources.title_earthquakeHeatMapLayer"></title>
  10. <script type="text/javascript" src="../../dist/ol/include-ol.js"></script>
  11. <style>
  12. body {
  13. margin: 0;
  14. overflow: hidden;
  15. background: #fff;
  16. width: 100%;
  17. height: 100%
  18. }
  19. #map {
  20. position: absolute;
  21. width: 100%;
  22. height: 100%;
  23. }
  24. </style>
  25. </head>
  26. <body>
  27. <div id="map"></div>
  28. <script type="text/javascript" include="jquery,papaparse" src="../js/include-web.js"></script>
  29. <script type="text/javascript">
  30. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  31. var url = host + "/iserver/services/map-world/rest/maps/World";
  32. var map;
  33. map = new ol.Map({
  34. target: 'map',
  35. controls: ol.control.defaults({ attributionOptions: { collapsible: false } }),
  36. view: new ol.View({
  37. center: [0, 0],
  38. zoom: 2,
  39. projection: 'EPSG:4326',
  40. multiWorld: true
  41. })
  42. });
  43. var iserverWorldLayer = new ol.layer.Tile({
  44. source: new ol.source.TileSuperMapRest({
  45. url: url,
  46. wrapX: true
  47. }),
  48. projection: 'EPSG:4326'
  49. });
  50. map.addLayer(iserverWorldLayer);
  51. //加载热力图
  52. var radius = 15, heatFeatures = [], heatMapSource, heatMapLayer;
  53. $.get('../data/chinaEarthquake.csv', function (csvstr) {
  54. var data = Papa.parse(csvstr, { skipEmptyLines: true, header: true }).data;
  55. for (var i = 0; i < data.length; i++) {
  56. if (data[i].Y <= 85) {
  57. heatFeatures.push(new ol.Feature({
  58. geometry: new ol.geom.Point([data[i].X, data[i].Y]),
  59. Properties: { "value": data[i].level / 50 }
  60. }))
  61. }
  62. };
  63. heatMapSource = new ol.source.HeatMap("heatMap", {
  64. "map": map,
  65. "id": "heatmap",
  66. "radius": radius,
  67. //权重
  68. "featureWeight": "value",
  69. });
  70. heatMapSource.addFeatures(heatFeatures);
  71. heatMapLayer = new ol.layer.Image({
  72. source: heatMapSource
  73. });
  74. map.addLayer(heatMapLayer);
  75. });
  76. </script>
  77. </body>
  78. </html>