02_datasetService.html 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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. <title data-i18n="resources.title_DatasetInfo"></title>
  9. <script type="text/javascript" src="../../dist/mapboxgl/include-mapboxgl.js"></script>
  10. <style>
  11. body {
  12. margin: 0;
  13. overflow: hidden;
  14. background: #fff;
  15. width: 100%;
  16. height: 100%
  17. }
  18. #map {
  19. position: absolute;
  20. width: 100%;
  21. height: 100%;
  22. }
  23. #toolbar {
  24. position: absolute;
  25. top: 50px;
  26. right: 10px;
  27. width: 300px;
  28. text-align: center;
  29. z-index: 100;
  30. border-radius: 4px;
  31. }
  32. </style>
  33. </head>
  34. <body>
  35. <div id="toolbar" class="panel panel-primary">
  36. <div class='panel-heading'>
  37. <h5 class='panel-title text-center' data-i18n="resources.title_DatasetInfo"></h5></div>
  38. <div class='panel-body content'>
  39. <div class='panel'>
  40. <div class='input-group'>
  41. <span class='input-group-addon' data-i18n ="resources.text_Datasources"></span>
  42. <select id='datasourcesSelect' class='form-control'></select>
  43. </div>
  44. </div>
  45. <div class='panel'>
  46. <div class='input-group'>
  47. <span class='input-group-addon' data-i18n ="resources.text_dataset"></span>
  48. <select id='datasetsSelect' class='form-control'></select>
  49. </div>
  50. </div>
  51. <input type="button" class="btn btn-default" data-i18n ="[value]resources.btn_query"
  52. onclick="datasetsPrint()"/>
  53. </div>
  54. </div>
  55. <div id="map"></div>
  56. <script type="text/javascript" include="bootstrap-css" src="../js/include-web.js"></script>
  57. <script>
  58. let map,
  59. datasetsSelect,
  60. datasourcesSelect,
  61. datasourceName,
  62. baseUrl = (window.isLocal ? window.server : "https://iserver.supermap.io") + "/iserver/services/map-world/rest/maps/World Map/zxyTileImage.png?z={z}&x={x}&y={y}",
  63. dataUrl = (window.isLocal ? window.server : "https://iserver.supermap.io") + "/iserver/services/data-world/rest/data";
  64. let attribution = "<a href='https://www.mapbox.com/about/maps/' target='_blank'>© Mapbox </a>" +
  65. " with <span>© <a href='https://iclient.supermap.io' target='_blank'>SuperMap iClient</a> | </span>" +
  66. " Map Data <span>© <a href='http://support.supermap.com.cn/product/iServer.aspx' target='_blank'>SuperMap iServer</a></span> ";
  67. map = new mapboxgl.Map({
  68. container: 'map',
  69. style: {
  70. "version": 8,
  71. "sources": {
  72. "raster-tiles": {
  73. "attribution": attribution,
  74. "type": "raster",
  75. "tiles": [baseUrl],
  76. "tileSize": 256
  77. }
  78. },
  79. "layers": [{
  80. "id": "simple-tiles",
  81. "type": "raster",
  82. "source": "raster-tiles",
  83. }]
  84. },
  85. center: [0, 0],
  86. zoom: 2
  87. });
  88. map.addControl(new mapboxgl.NavigationControl(), 'top-left');
  89. map.addControl(new mapboxgl.supermap.LogoControl(), 'bottom-right');
  90. map.on("load", function () {
  91. dataSetService();
  92. });
  93. function dataSetService() {
  94. new mapboxgl.supermap.DatasourceService(dataUrl).getDatasources(function (serviceResult) {
  95. datasourcesSelect = document.getElementById("datasourcesSelect");
  96. const datasourceNames = serviceResult.result.datasourceNames;
  97. for (let i = 0,len = datasourceNames.length; i < len; i++) {
  98. datasourcesSelect.options[i] = new Option(datasourceNames[i], datasourceNames[i]);
  99. }
  100. datasourceName = datasourcesSelect.value;
  101. datasetsService(datasourceName)
  102. })
  103. }
  104. //数据集信息
  105. function datasetsService(datasourceName){
  106. new mapboxgl.supermap.DatasetService(dataUrl).getDatasets(datasourceName,function (serviceResult) {
  107. const datasetNames = serviceResult.result.datasetNames;
  108. datasetsSelect = document.getElementById("datasetsSelect");
  109. for (let i = 0,len = datasetNames.length; i < len; i++) {
  110. datasetsSelect.options[i] = new Option(datasetNames[i], datasetNames[i]);
  111. }
  112. });
  113. }
  114. function datasetsPrint(){
  115. const datasetName = datasetsSelect.value;
  116. new mapboxgl.supermap.DatasetService(dataUrl).getDataset(datasourceName,datasetName,function (serviceResult) {
  117. let innerHTML = "(" + resources.text_datasetInfoPrint + ")" + "<br><br>";
  118. innerHTML += "dataSourceName:" + JSON.stringify(serviceResult.result.datasetInfo.dataSourceName, null, 2) + "<br>";
  119. innerHTML += "description:" + JSON.stringify(serviceResult.result.datasetInfo.description, null, 2) + "<br>";
  120. innerHTML += "isFileCache:" + JSON.stringify(serviceResult.result.datasetInfo.isFileCache, null, 2) + "<br>";
  121. innerHTML += "name:" + JSON.stringify(serviceResult.result.datasetInfo.name, null, 2) + "<br>";
  122. innerHTML += "prjCoordSys:" + "(...)" + "<br>";
  123. new mapboxgl.Popup({closeOnClick: false})
  124. .setLngLat([0,0])
  125. .setHTML(innerHTML + "</br>")
  126. .addTo(map);
  127. });
  128. }
  129. </script>
  130. </body>
  131. </html>