earthquakeHeatMapIclient.html 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset='utf-8' />
  5. <title data-i18n="resources.title_ChinaEarthquakeHeatClient"></title>
  6. <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
  7. <script type="text/javascript" include="jquery,papaparse" src="../js/include-web.js"></script>
  8. <style>
  9. body {
  10. margin: 0;
  11. padding: 0;
  12. }
  13. #map {
  14. position: absolute;
  15. top: 0;
  16. bottom: 0;
  17. width: 100%;
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <div id='map'></div>
  23. <script type="text/javascript" include='mapbox-gl-enhance' src="../../dist/mapboxgl/include-mapboxgl.js"></script>
  24. <script>
  25. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  26. var map = new mapboxgl.Map({
  27. container: 'map',
  28. style: {
  29. "version": 8,
  30. "sources": {
  31. "raster-tiles": {
  32. "type": "raster",
  33. "tiles": [host + '/iserver/services/map-world/rest/maps/World'],
  34. "rasterSource":"iserver",
  35. "tileSize": 256
  36. }
  37. },
  38. "layers": [{
  39. "id": "simple-tiles",
  40. "type": "raster",
  41. "source": "raster-tiles",
  42. "minzoom": 0,
  43. "maxzoom": 22
  44. }]
  45. },
  46. crs:'EPSG:4326',
  47. center: [112, 37.94],
  48. zoom: 3
  49. });
  50. map.on('load', function () {
  51. var heatMapLayer = new mapboxgl.supermap.HeatMapLayer(
  52. "heatMap", {
  53. "map": map,
  54. "id": "heatmap",
  55. "radius": 20
  56. }
  57. );
  58. $.get("../data/chinaEarthquake.csv", function (response) {
  59. var dataObj = Papa.parse(response, {
  60. skipEmptyLines: true,
  61. header: true
  62. });
  63. var data = dataObj.data;
  64. var geojson = {
  65. "type": "FeatureCollection",
  66. "features": []
  67. };
  68. for (var i = 0; i < data.length; i++) {
  69. var item = data[i];
  70. var date = new Date(item.date);
  71. var year = date.getFullYear();
  72. //2w+地震数据
  73. if (year > 2000 && year < 2015) {
  74. var feature = {
  75. "type": "feature",
  76. "geometry": {
  77. "type": "Point",
  78. "coordinates": []
  79. },
  80. "properties": {
  81. "value": parseFloat(item.level)
  82. }
  83. };
  84. feature.geometry.coordinates = [parseFloat(item.X), parseFloat(item.Y)];
  85. geojson.features.push(feature);
  86. }
  87. }
  88. heatMapLayer.addFeatures(geojson);
  89. map.addLayer(heatMapLayer)
  90. })
  91. });
  92. </script>
  93. </body>
  94. </html>