test_3d.html 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. <html lang="en">
  2. <head>
  3. <meta charset="utf-8" />
  4. <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
  5. <title>nb BuildingSceneLayer with Slice widget | Sample | ArcGIS Maps SDK for JavaScript 4.27</title>
  6. <style>
  7. html,
  8. body,
  9. #viewDiv {
  10. padding: 0;
  11. margin: 0;
  12. height: 100%;
  13. width: 100%;
  14. }
  15. #menu {
  16. padding: 0.8em;
  17. max-width: 250px;
  18. }
  19. #sliceContainer {
  20. width: inherit;
  21. }
  22. #sliceOptions {
  23. margin: 0 15px;
  24. }
  25. #sliceOptions>button {
  26. margin-bottom: 15px;
  27. }
  28. #sliceContainer {
  29. max-width: 228px;
  30. }
  31. #containerDiv {
  32. background-color: white;
  33. padding: 3px;
  34. text-align: center;
  35. width: 300px;
  36. }
  37. #title {
  38. font-size: 14pt;
  39. }
  40. /deep/.esri-color-slider .esri-slider .esri-slider__content {
  41. height: 180px;
  42. }
  43. </style>
  44. <link href="https://2.21.138.152:8003/arcgisjs2.24/arcgis_js_api/javascript/4.24/esri/themes/light/main.css"
  45. rel="stylesheet" type="text/css" />
  46. <script src="https://2.21.138.152:8003/arcgisjs2.24/arcgis_js_api/javascript/4.24/init.js"></script>
  47. <script>
  48. require([
  49. "esri/WebScene",
  50. "esri/Map",
  51. "esri/views/SceneView",
  52. "esri/layers/SceneLayer",
  53. "esri/geometry/SpatialReference",
  54. "esri/layers/TileLayer",
  55. "esri/layers/IntegratedMeshLayer",
  56. "esri/layers/BuildingSceneLayer",
  57. "esri/layers/ElevationLayer",
  58. "esri/layers/MapImageLayer",
  59. "esri/identity/IdentityManager",
  60. "esri/identity/ServerInfo",
  61. "esri/widgets/Legend",
  62. "esri/smartMapping/renderers/color", "esri/widgets/smartMapping/ColorSlider"
  63. ], (
  64. WebScene,
  65. Map,
  66. SceneView,
  67. SceneLayer, SpatialReference, TileLayer, IntegratedMeshLayer, BuildingSceneLayer, ElevationLayer, MapImageLayer,
  68. IdentityManager, ServerInfo, Legend, colorRendererCreator, ColorSlider
  69. ) => {
  70. //获取Token
  71. var serverInfo = new ServerInfo();
  72. serverInfo.tokenServiceUrl = "https://2.21.138.152:6443/geoscene/tokens/generateToken";
  73. var userInfo = { username: "dci", password: "dci..112" };
  74. IdentityManager.generateToken(serverInfo, userInfo).then(function (data) {
  75. var tokenValue = data.token;
  76. //注册Token,注册之后,在Portal里的所有资源,只要该用户由权限访问,就可以直接使用,之前的所有安全服务请求都将会把token值作为参数发送到服务器端
  77. IdentityManager.registerToken({ server: "https://2.21.138.152:6443/geoscene/rest/services/", token: tokenValue });
  78. }, function (error) {
  79. // This function is called when the promise is rejected
  80. console.error(error); // Logs the error message
  81. });
  82. // Load webscene and display it in a SceneView
  83. const webscene = new WebScene();
  84. const map = new Map({
  85. ground: {
  86. navigationConstraint: {
  87. type: "stay-above"
  88. },
  89. //surfaceColor:"#fff",
  90. opacity: 0.5,
  91. }
  92. });
  93. const layer1 = new TileLayer({
  94. id: "yx",
  95. url: "https://2.21.138.152:6443/geoscene/rest/services/BM/WXSQMAP/MapServer"
  96. //url:"https://2.21.138.152:6443/geoscene/rest/services/BM/%E7%AE%A1%E7%BA%BF%E6%B7%B1%E8%89%B2%E5%BA%95%E5%9B%BE/MapServer"
  97. //url:"https://2.21.138.152:6443/geoscene/rest/services/BM/2022wxsqdom1/MapServer"
  98. });
  99. const layer2 = new TileLayer({
  100. id: "gx",
  101. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/qsrqgx/MapServer"
  102. });
  103. const layer_zj = new TileLayer({
  104. id: "yxzj",
  105. url: "https://2.21.138.152:6443/geoscene/rest/services/BM/%E5%BD%B1%E5%83%8F%E9%81%93%E8%B7%AF%E6%B3%A8%E8%AE%B0/MapServer"
  106. });
  107. //layer1.maxScale = 0;
  108. var layer_t = new MapImageLayer({
  109. id: "layer_t",
  110. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/qsgx/MapServer"
  111. });
  112. var layer_gw = new MapImageLayer({
  113. id: "layer_gw",
  114. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/service_rq/MapServer"
  115. });
  116. // const layer = new SceneLayer({
  117. // url: "https://2.21.138.152:6443/geoscene/rest/services/gx/trline/SceneServer",
  118. // title: "test"
  119. // });
  120. const layer21 = new SceneLayer({
  121. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/ldline/SceneServer",
  122. title: "layer21"
  123. });
  124. const layer22 = new SceneLayer({
  125. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/gdline/SceneServer",
  126. title: "layer22"
  127. });
  128. const layer23 = new SceneLayer({
  129. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/jsline/SceneServer",
  130. title: "layer23"
  131. });
  132. const layer24 = new SceneLayer({
  133. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/jspoint/SceneServer",
  134. title: "layer24"
  135. });
  136. const layer25 = new SceneLayer({
  137. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/jsline/SceneServer",
  138. title: "test23"
  139. });
  140. const layer26 = new SceneLayer({
  141. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/jsline/SceneServer",
  142. title: "test23"
  143. });
  144. const layer27 = new SceneLayer({
  145. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/jsline/SceneServer",
  146. title: "test23"
  147. });
  148. const layer28 = new SceneLayer({
  149. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/jsline/SceneServer",
  150. title: "test23"
  151. });
  152. const layer29 = new SceneLayer({
  153. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/jsline/SceneServer",
  154. title: "test23"
  155. });
  156. const layer210 = new SceneLayer({
  157. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/jsline/SceneServer",
  158. title: "test23"
  159. });
  160. const layer211 = new SceneLayer({
  161. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/jsline/SceneServer",
  162. title: "test23"
  163. });
  164. const layer212 = new SceneLayer({
  165. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/jsline/SceneServer",
  166. title: "test23"
  167. });
  168. const layer213 = new SceneLayer({
  169. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/jsline/SceneServer",
  170. title: "test23"
  171. });
  172. var bLayer = new BuildingSceneLayer({
  173. url: "https://2.21.138.152:6443/geoscene/rest/services/gx/wspoint/SceneServer"
  174. });
  175. bLayer.loadAll().then(function () {
  176. console.log('no here ===========================================================');
  177. bLayer.allSublayers.forEach((subayer) => {
  178. if (subayer.modelName == "Overview") {
  179. subayer.visible = false;
  180. } else {
  181. subayer.visible = true;
  182. }
  183. });
  184. }).catch(function (error) {
  185. });
  186. map.addMany([layer21,layer22,layer23,layer24]);
  187. var layer_dem = new ElevationLayer({
  188. id: "",
  189. url: "https://2.21.138.152:6443/geoscene/rest/services/BM/%E5%B8%82%E5%8C%BADEM5m_1/ImageServer"
  190. });
  191. map.ground.when(() => {
  192. // console.log('map.ground.layers', map.ground.layers, layer_dem);
  193. // map.ground.layers.add(layer_dem);
  194. });
  195. /*
  196. const buildingLayer = new SceneLayer({
  197. url:"http://2.21.132.6:6080/geoscene/rest/services/jinkaiBM/SceneServer",
  198. title: "test"
  199. });
  200. const buildingLayer1 = new SceneLayer({
  201. url:"http://2.21.132.6:6080/geoscene/rest/services/jinkaiJM/SceneServer",
  202. title: "tQest"
  203. });
  204. var imLayer = new IntegratedMeshLayer({
  205. url: "http://2.21.132.6:6080/geoscene/rest/services/lhwlcQX/SceneServer"
  206. });
  207. map.addMany([imLayer,layer1]);*/
  208. const view = new SceneView({
  209. viewingMode: "local",
  210. container: "viewDiv",
  211. map: map
  212. });
  213. });
  214. </script>
  215. </head>
  216. <body>
  217. <div id="viewDiv"></div>
  218. <div id="containerDiv">
  219. <span id="title" class="esri-widget">Construction Year</span>
  220. <div id="slider"></div>
  221. </div>
  222. </body>
  223. </html>