02_datasourceService.html 4.9 KB

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