03_themeDotDensity.html 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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_themeDotDensity"></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-world/rest/maps/World";
  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/maps/rest/maps/World/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: [0, 0],
  42. zoom: 2
  43. });
  44. map.addControl(new mapboxgl.NavigationControl(), 'top-left');
  45. map.addControl(new mapboxgl.supermap.LogoControl(), 'bottom-right');
  46. function createTheme() {
  47. var themeDotDensity = new SuperMap.ThemeDotDensity({
  48. dotExpression: "Pop_1994",
  49. value: 5000000,
  50. style: new SuperMap.ServerStyle({
  51. markerSize: 3,
  52. markerSymbolID: 12
  53. })
  54. });
  55. var themeParameters = new SuperMap.ThemeParameters({
  56. themes: [themeDotDensity],
  57. datasetNames: ["Countries"],
  58. dataSourceNames: ["World"]
  59. });
  60. var themeService = new mapboxgl.supermap.ThemeService(dataUrl);
  61. themeService.getThemeInfo(themeParameters, function (serviceResult) {
  62. var result = serviceResult.result;
  63. if (result && result.newResourceID) {
  64. map.addSource("theme", {
  65. "type": 'raster',
  66. "tiles": [host + '/iserver/services/maps/rest/maps/World/zxyTileImage.png?z={z}&x={x}&y={y}&transparent=true&cacheEnabled=false&noWrap=true&layersID=' + result.newResourceID],
  67. "tileSize": 256,
  68. });
  69. map.addLayer({
  70. "id": "themeLayer",
  71. "type": "raster",
  72. "source": "theme",
  73. });
  74. }
  75. })
  76. }
  77. map.on('load', function () {
  78. createTheme();
  79. });
  80. </script>
  81. </body>
  82. </html>