03_themeGraduatedSymbol.html 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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.text_graduatedSymbol"></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-china400/rest/maps/China";
  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-china400/rest/maps/China/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: [100, 39],
  42. zoom: 3
  43. });
  44. map.addControl(new mapboxgl.NavigationControl(), 'top-left');
  45. map.addControl(new mapboxgl.supermap.LogoControl(), 'bottom-right');
  46. function createTheme() {
  47. var themeGraduatedSymbol = new SuperMap.ThemeGraduatedSymbol({
  48. expression: "SMAREA",
  49. baseValue: 3000000000000,
  50. graduatedMode: SuperMap.GraduatedMode.CONSTANT,
  51. style: new SuperMap.ThemeGraduatedSymbolStyle({
  52. positiveStyle: new SuperMap.ServerStyle({
  53. markerSize: 50,
  54. markerSymbolID: 0,
  55. lineColor: new SuperMap.ServerColor(255, 165, 0),
  56. fillBackColor: new SuperMap.ServerColor(255, 0, 0)
  57. })
  58. })
  59. });
  60. var themeParameters = new SuperMap.ThemeParameters({
  61. themes: [themeGraduatedSymbol],
  62. datasetNames: ["China_Province_pg"],
  63. dataSourceNames: ["China"]
  64. });
  65. new mapboxgl.supermap.ThemeService(dataUrl).getThemeInfo(themeParameters, function (serviceResult) {
  66. var result = serviceResult.result;
  67. if (result && result.newResourceID) {
  68. map.addSource("theme", {
  69. "type": 'raster',
  70. "tiles": [host + '/iserver/services/map-china400/rest/maps/China/zxyTileImage.png?z={z}&x={x}&y={y}&transparent=true&cacheEnabled=false&layersID=' + result.newResourceID],
  71. "tileSize": 256,
  72. });
  73. map.addLayer({
  74. "id": "themeLayer",
  75. "type": "raster",
  76. "source": "theme",
  77. });
  78. }
  79. })
  80. }
  81. map.on('load', function () {
  82. createTheme();
  83. });
  84. </script>
  85. </body>
  86. </html>