03_themeGridRange.html 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  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_themeGridRange"></title>
  9. <script type="text/javascript" src="../js/include-web.js"></script>
  10. </head>
  11. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
  12. <div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
  13. <script type="text/javascript" src="../../dist/mapboxgl/include-mapboxgl.js"></script>
  14. <span id="show"></span>
  15. <script type="text/javascript">
  16. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  17. var attribution = "<a href='https://www.mapbox.com/about/maps/' target='_blank'>© Mapbox </a>" +
  18. "with <span>© <a href='https://iclient.supermap.io' target='_blank'>SuperMap iClient</a> | </span>" +
  19. " Map Data <span>© <a href='http://support.supermap.com.cn/product/iServer.aspx' target='_blank'>SuperMap iServer</a></span> ";
  20. var dataUrl = host + "/iserver/services/map-jingjin/rest/maps/京津地区人口分布图_专题图";
  21. var map = new mapboxgl.Map({
  22. container: 'map',
  23. style: {
  24. "version": 8,
  25. "sources": {
  26. "raster-tiles": {
  27. "attribution": attribution,
  28. "type": "raster",
  29. "tiles": [host + '/iserver/services/map-jingjin/rest/maps/京津地区人口分布图_专题图/zxyTileImage.png?prjCoordSys='+encodeURIComponent('{"epsgCode":3857}')+'&z={z}&x={x}&y={y}'],
  30. "tileSize": 256,
  31. },
  32. },
  33. "layers": [{
  34. "id": "simple-tiles",
  35. "type": "raster",
  36. "source": "raster-tiles",
  37. "minzoom": 0,
  38. "maxzoom": 22
  39. }]
  40. },
  41. center: [117, 40],
  42. zoom: 6
  43. });
  44. map.addControl(new mapboxgl.NavigationControl(), 'top-left');
  45. map.addControl(new mapboxgl.supermap.LogoControl(), 'bottom-right');
  46. function createTheme() {
  47. var themeGridRangeItem1 = new SuperMap.ThemeGridRangeItem({
  48. start: -4,
  49. end: 120,
  50. color: new SuperMap.ServerColor(198, 244, 240)
  51. }),
  52. themeGridRangeItem2 = new SuperMap.ThemeGridRangeItem({
  53. start: 120,
  54. end: 240,
  55. color: new SuperMap.ServerColor(176, 244, 188)
  56. }),
  57. themeGridRangeItem3 = new SuperMap.ThemeGridRangeItem({
  58. start: 240,
  59. end: 360,
  60. color: new SuperMap.ServerColor(218, 251, 178)
  61. }),
  62. themeGridRangeItem4 = new SuperMap.ThemeGridRangeItem({
  63. start: 360,
  64. end: 480,
  65. color: new SuperMap.ServerColor(220, 236, 145)
  66. }),
  67. themeGridRangeItem5 = new SuperMap.ThemeGridRangeItem({
  68. start: 480,
  69. end: 600,
  70. color: new SuperMap.ServerColor(96, 198, 66)
  71. }),
  72. themeGridRangeItem6 = new SuperMap.ThemeGridRangeItem({
  73. start: 600,
  74. end: 720,
  75. color: new SuperMap.ServerColor(20, 142, 53)
  76. }),
  77. themeGridRangeItem7 = new SuperMap.ThemeGridRangeItem({
  78. start: 720,
  79. end: 840,
  80. color: new SuperMap.ServerColor(85, 144, 55)
  81. }),
  82. themeGridRangeItem8 = new SuperMap.ThemeGridRangeItem({
  83. start: 840,
  84. end: 960,
  85. color: new SuperMap.ServerColor(171, 168, 38)
  86. }),
  87. themeGridRangeItem9 = new SuperMap.ThemeGridRangeItem({
  88. start: 960,
  89. end: 1100,
  90. color: new SuperMap.ServerColor(235, 165, 9)
  91. }),
  92. themeGridRangeItem10 = new SuperMap.ThemeGridRangeItem({
  93. start: 1100,
  94. end: 1220,
  95. color: new SuperMap.ServerColor(203, 89, 2)
  96. }),
  97. themeGridRangeItem11 = new SuperMap.ThemeGridRangeItem({
  98. start: 1220,
  99. end: 1340,
  100. color: new SuperMap.ServerColor(157, 25, 1)
  101. }),
  102. themeGridRangeItem12 = new SuperMap.ThemeGridRangeItem({
  103. start: 1340,
  104. end: 1460,
  105. color: new SuperMap.ServerColor(118, 15, 3)
  106. }),
  107. themeGridRangeItem13 = new SuperMap.ThemeGridRangeItem({
  108. start: 1460,
  109. end: 1600,
  110. color: new SuperMap.ServerColor(112, 32, 7)
  111. }),
  112. themeGridRangeItem14 = new SuperMap.ThemeGridRangeItem({
  113. start: 1600,
  114. end: 1800,
  115. color: new SuperMap.ServerColor(106, 45, 12)
  116. }),
  117. themeGridRangeItem15 = new SuperMap.ThemeGridRangeItem({
  118. start: 1800,
  119. end: 2000,
  120. color: new SuperMap.ServerColor(129, 80, 50)
  121. }),
  122. themeGridRangeItem16 = new SuperMap.ThemeGridRangeItem({
  123. start: 2000,
  124. end: 2167,
  125. color: new SuperMap.ServerColor(160, 154, 146)
  126. });
  127. themeGridRange = new SuperMap.ThemeGridRange({
  128. reverseColor: false,
  129. rangeMode: SuperMap.RangeMode.EQUALINTERVAL,
  130. items: [
  131. themeGridRangeItem1, themeGridRangeItem2,
  132. themeGridRangeItem3, themeGridRangeItem4,
  133. themeGridRangeItem5, themeGridRangeItem6,
  134. themeGridRangeItem7, themeGridRangeItem8,
  135. themeGridRangeItem9, themeGridRangeItem10,
  136. themeGridRangeItem11, themeGridRangeItem12,
  137. themeGridRangeItem13, themeGridRangeItem14,
  138. themeGridRangeItem15, themeGridRangeItem16
  139. ]
  140. });
  141. themeParameters = new SuperMap.ThemeParameters({
  142. datasetNames: ["JingjinTerrain"],
  143. dataSourceNames: ["Jingjin"],
  144. joinItems: null,
  145. themes: [themeGridRange]
  146. });
  147. new mapboxgl.supermap.ThemeService(dataUrl).getThemeInfo(themeParameters, function (serviceResult) {
  148. var result = serviceResult.result;
  149. if (result && result.newResourceID) {
  150. map.addSource("theme", {
  151. "type": 'raster',
  152. "tiles": [host + '/iserver/services/map-jingjin/rest/maps/京津地区人口分布图_专题图/zxyTileImage.png?z={z}&x={x}&y={y}&transparent=true&cacheEnabled=false&layersID=' + result.newResourceID],
  153. "tileSize": 256,
  154. });
  155. map.addLayer({
  156. "id": "themeLayer",
  157. "type": "raster",
  158. "source": "theme",
  159. });
  160. }
  161. })
  162. }
  163. map.on('load', function () {
  164. createTheme();
  165. });
  166. </script>
  167. </body>
  168. </html>