02_getFeatureByIDs.html 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <!--********************************************************************
  2. * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
  3. *********************************************************************-->
  4. <!DOCTYPE html>
  5. <html lang="en">
  6. <head>
  7. <meta charset="UTF-8">
  8. <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no'/>
  9. <title data-i18n="resources.title_getFeatureByIDs"></title>
  10. <script type="text/javascript" src="../js/include-web.js"></script>
  11. <style>
  12. body {
  13. margin: 0;
  14. padding: 0;
  15. }
  16. #map {
  17. position: absolute;
  18. top: 0;
  19. bottom: 0;
  20. width: 100%;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <div id="map"></div>
  26. <script type="text/javascript" src="../../dist/mapboxgl/include-mapboxgl.js"></script>
  27. <script type="text/javascript">
  28. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  29. var attribution = "<a href='https://www.mapbox.com/about/maps/' target='_blank'>© Mapbox </a>" +
  30. " with <span>© <a href='https://iclient.supermap.io' target='_blank'>SuperMap iClient</a> | </span>" +
  31. " Map Data <span>© <a href='http://support.supermap.com.cn/product/iServer.aspx' target='_blank'>SuperMap iServer</a></span> ";
  32. var baseUrl = host + '/iserver/services/map-china400/rest/maps/China/zxyTileImage.png?z={z}&x={x}&y={y}',
  33. dataUrl = host + "/iserver/services/data-world/rest/data";
  34. var map = new mapboxgl.Map({
  35. container: 'map',
  36. style: {
  37. "version": 8,
  38. "sources": {
  39. "raster-tiles": {
  40. "attribution": attribution,
  41. "type": "raster",
  42. "tiles": [baseUrl],
  43. "tileSize": 256
  44. }
  45. },
  46. "layers": [{
  47. "id": "simple-tiles",
  48. "type": "raster",
  49. "source": "raster-tiles",
  50. "minzoom": 0,
  51. "maxzoom": 22
  52. }]
  53. },
  54. center: [120.143, 30.236],
  55. zoom: 3
  56. });
  57. map.addControl(new mapboxgl.NavigationControl(), 'top-left');
  58. map.addControl(new mapboxgl.supermap.LogoControl(), 'bottom-right');
  59. //查询函数:
  60. function query() {
  61. var idsParam = new SuperMap.GetFeaturesByIDsParameters({
  62. IDs: [247],
  63. datasetNames: ["World:Countries"]
  64. });
  65. var service = new mapboxgl.supermap.FeatureService(dataUrl);
  66. service.getFeaturesByIDs(idsParam, function (serviceResult) {
  67. map.addSource("queryDatas", {
  68. "type": "geojson",
  69. "data": serviceResult.result.features
  70. });
  71. map.addLayer({
  72. "id": "queryDatas",
  73. "type": "fill",
  74. "source": "queryDatas",
  75. "paint": {
  76. "fill-color": "#008080", /* 填充的颜色 */
  77. "fill-opacity": 0.4 /* 透明度 */
  78. },
  79. "filter": ["==", "$type", "Polygon"]
  80. });
  81. });
  82. }
  83. map.on('load', function () {
  84. query();
  85. });
  86. </script>
  87. </body>
  88. </html>