mapvLayerHoneycomb.html 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <!--********************************************************************
  2. * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
  3. *********************************************************************-->
  4. <!DOCTYPE html>
  5. <html lang="en-US">
  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_mapVLayerHoneycomb"></title>
  11. <script type="text/javascript" src="../js/include-web.js"></script>
  12. <script type="text/javascript" include="mapv" src="../../dist/mapboxgl/include-mapboxgl.js"></script>
  13. <style>
  14. body {
  15. margin: 0;
  16. padding: 0;
  17. }
  18. #map {
  19. position: absolute;
  20. top: 0;
  21. bottom: 0;
  22. width: 100%;
  23. }
  24. </style>
  25. </head>
  26. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%">
  27. <div id="map"></div>
  28. <script type="text/javascript">
  29. var attribution =
  30. "<a href='https://www.mapbox.com/about/maps/' target='_blank'>© Mapbox </a>" +
  31. " with <span>© <a href='https://iclient.supermap.io' target='_blank'>SuperMap iClient</a> | </span>" +
  32. " Map Data <span>© <a href='http://support.supermap.com.cn/product/iServer.aspx' target='_blank'>SuperMap iServer</a> | </span>" +
  33. "<a href='https://mapv.baidu.com' target='_blank'>© 2018 百度 MapV</a>";
  34. var host = window.isLocal ? window.server : 'https://iserver.supermap.io';
  35. var tileURL =
  36. host + '/iserver/services/map-china400/rest/maps/ChinaDark/zxyTileImage.png?z={z}&x={x}&y={y}';
  37. var map = new mapboxgl.Map({
  38. container: 'map',
  39. style: {
  40. version: 8,
  41. sources: {
  42. 'raster-tiles': {
  43. attribution: attribution,
  44. type: 'raster',
  45. tiles: [tileURL],
  46. tileSize: 256
  47. }
  48. },
  49. layers: [
  50. {
  51. id: 'simple-tiles',
  52. type: 'raster',
  53. source: 'raster-tiles',
  54. minzoom: 0,
  55. maxzoom: 22
  56. }
  57. ]
  58. },
  59. center: [112, 37.94],
  60. zoom: 3
  61. });
  62. map.addControl(new mapboxgl.NavigationControl(), 'top-left');
  63. map.addControl(new mapboxgl.supermap.LogoControl(), 'bottom-right');
  64. loadData();
  65. function loadData() {
  66. var randomCount = 1000;
  67. var data = [];
  68. var citys = [
  69. '北京',
  70. '天津',
  71. '上海',
  72. '重庆',
  73. '石家庄',
  74. '太原',
  75. '呼和浩特',
  76. '哈尔滨',
  77. '长春',
  78. '沈阳',
  79. '济南',
  80. '南京',
  81. '合肥',
  82. '杭州',
  83. '南昌',
  84. '福州',
  85. '郑州',
  86. '武汉',
  87. '长沙',
  88. '广州',
  89. '南宁',
  90. '西安',
  91. '银川',
  92. '兰州',
  93. '西宁',
  94. '乌鲁木齐',
  95. '成都',
  96. '贵阳',
  97. '昆明',
  98. '拉萨',
  99. '海口'
  100. ];
  101. // 构造数据
  102. while (randomCount--) {
  103. var cityCenter = mapv.utilCityCenter.getCenterByCityName(
  104. citys[parseInt(Math.random() * citys.length)]
  105. );
  106. data.push({
  107. geometry: {
  108. type: 'Point',
  109. coordinates: [
  110. cityCenter.lng - 2 + Math.random() * 4,
  111. cityCenter.lat - 2 + Math.random() * 4
  112. ]
  113. },
  114. count: 30 * Math.random()
  115. });
  116. }
  117. var dataSet = new mapv.DataSet(data);
  118. var options = {
  119. fillStyle: 'rgba(55, 50, 250, 0.8)',
  120. shadowColor: 'rgba(255, 250, 50, 1)',
  121. shadowBlur: 20,
  122. max: 100,
  123. size: 50,
  124. unit: 'px', // unit可选值['px', 'm'],默认值为'px'
  125. label: {
  126. show: true,
  127. fillStyle: 'white'
  128. },
  129. globalAlpha: 0.5,
  130. gradient: { 0.25: 'rgb(0,0,255)', 0.55: 'rgb(0,255,0)', 0.85: 'yellow', 1.0: 'rgb(255,0,0)' },
  131. draw: 'honeycomb'
  132. };
  133. //创建MapV图层
  134. //mapboxgl.supermap.MapvLayer 构造函数的第一个 map 参数将在下个版本遗弃
  135. var mapVLayer = new mapboxgl.supermap.MapvLayer('', dataSet, options);
  136. map.addLayer(mapVLayer);
  137. }
  138. </script>
  139. </body>
  140. </html>