deckglLayer_hexagonLayer.html 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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 http-equiv="X-UA-Compatible" content="IE=Edge">
  9. <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
  10. <title data-i18n="resources.title_mb_deckglLayer_hexagonLayer"></title>
  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. top: 0;
  22. bottom: 0;
  23. width: 100%;
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <div id="map"></div>
  29. <script type="text/javascript" include="papaparse,widgets" src="../js/include-web.js"></script>
  30. <script type="text/javascript" include="deck" src="../../dist/mapboxgl/include-mapboxgl.js"></script>
  31. <script type="text/javascript">
  32. var host = window.isLocal ? window.server : "https://iserver.supermap.io",
  33. url = host + "/iserver/services/map-china400/rest/maps/ChinaDark";
  34. var map, deckglLayer;
  35. var attribution = "<a href='https://www.mapbox.com/about/maps/' target='_blank'>© Mapbox </a>" +
  36. " with <span>© <a href='https://iclient.supermap.io' target='_blank'>SuperMap iClient</a> | </span>" +
  37. " Map Data <span>© <a href='https://uber.github.io/deck.gl' target='_blank'>deck.gl</a></span> ";
  38. map = new mapboxgl.Map({
  39. container: 'map',
  40. style: {
  41. "version": 8,
  42. "sources": {
  43. "raster-tiles": {
  44. "attribution": attribution,
  45. "type": "raster",
  46. "tiles": [url + '/zxyTileImage.png?z={z}&x={x}&y={y}'],
  47. "tileSize": 256,
  48. },
  49. },
  50. "layers": [{
  51. "id": "simple-tiles",
  52. "type": "raster",
  53. "source": "raster-tiles",
  54. "minzoom": 0,
  55. "maxzoom": 22
  56. }]
  57. },
  58. center: [-122.430844, 37.772276],
  59. zoom: 12,
  60. pitch: 60,
  61. bearing: 36
  62. });
  63. map.addControl(new mapboxgl.NavigationControl(), 'top-left');
  64. widgets.loader.showLoader("data loading...");
  65. $.get('../data/deck.gl/sf-bike-parking.json', function (features) {
  66. widgets.loader.removeLoader();
  67. addLayer(features);
  68. });
  69. function addLayer(features) {
  70. deckglLayer = new mapboxgl.supermap.DeckglLayer("hexagon-layer", {
  71. data: features,
  72. props: {
  73. extruded: true, //是否拉伸要素,默认为 false;
  74. radius: 200, //六边形半径值,默认为 1000
  75. elevationScale: 4, //高程乘数
  76. coverage: 0.8 //六边形半径乘数,介于0 - 1之间。六边形的最终半径通过覆盖半径计算。
  77. //还可配置的参数:
  78. //colorRange 色带,默认为 [[255,255,178,255],[254,217,118,255],[254,178,76,255],[253,141,60,255],[240,59,32,255],[189,0,38,255]]
  79. },
  80. callback: {
  81. getPosition: function (d) { return d.COORDINATES },
  82. }
  83. });
  84. map.addLayer(deckglLayer);
  85. }
  86. </script>
  87. </body>
  88. </html>