- <html lang="en">
-
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
- <meta name="viewport"
- content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
- <title>三维管网</title>
- <link href="./cesium/Build/SuperMap3D/Widgets/widgets.css" rel="stylesheet">
- <script type="text/javascript" src="./cesium/Build/SuperMap3D/SuperMap3D.js"></script>
- <script type="text/javascript" src="./cesium/web/libs/jquery/jquery.min.js"></script>
- <script type="text/javascript" src="./cesium/examples/webgl/js/supermap/SuperMap.Include.js"></script>
- <style>
- html,
- body,
- #Container {
- width: 100%;
- height: 100%;
- margin: 0;
- padding: 0;
- overflow: hidden;
- }
- </style>
- </head>
-
- <body>
- <div id="Container"></div>
- <!-- 气泡HTML -->
-
- <script type="text/javascript">
- var isInit = false
-
- function onload(SuperMap3D) {
- //初始化viewer部件
- window.viewer = new SuperMap3D.Viewer('Container', {
- infoBox: false,
- navigation: false,
- terrainProvider: new SuperMap3D.SuperMapTerrainProvider({
- url: 'https://www.supermapol.com/realspace/services/3D-stk_terrain/rest/realspace/datas/info/data/path',
- requestWaterMask: true,
- requestVertexNormals: true,
- isSct: false
- }),
- });
-
- var scene = viewer.scene;
- var camera = scene.camera;
- viewer._Widget._creditContainer.style.display = "none";
- scene.lightSource.ambientLightColor = new SuperMap3D.Color(0.65, 0.65, 0.65, 1);
- viewer.imageryLayers.addImageryProvider(new SuperMap3D.WebMapTileServiceImageryProvider({
- url: 'http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={TileMatrix}&TILEROW={TileRow}&TILECOL={TileCol}&tk=3b8b6381848942b1e6bf37296e534130',
- layer: 'img',
- style: 'default',
- format: 'image/jpeg',
- tileMatrixSetID: 'mercator',
- maximumLevel: 18
- }))
- // viewer.imageryLayers.addImageryProvider(new SuperMap3D.WebMapServiceImageryProvider({
- // url: 'http://218.64.81.37:8082/map2d/jiShui/wms',
- // layers: 'wurenji_5cm',
- // parameters: {
- // service: "wms",
- // format: "image/png",
- // transparent: true,
- // srs: "epsg:4326",
- // height: 512,
- // width: 512
- // }
- // }))
- var promise = scene.open('https://{s}.wh-nf.cn:8090/iserver/services/3D-pipeData/rest/realspace',
- undefined, {
- subdomains: ['supermap0', 'supermap1', 'supermap2', 'supermap3'],
- autoSetView: true
- });
-
- viewer.camera.flyTo({
- destination: SuperMap3D.Cartesian3.fromDegrees(114.34250, 34.78526, 1200.0),
- orientation: {
- pitch: SuperMap3D.Math.toRadians(-35.0),
- }
- });
- var handler = new SuperMap3D.ScreenSpaceEventHandler(scene.canvas);
- handler.setInputAction(function (e) {
- // 获取点击位置笛卡尔坐标
- scene.pickAsync(e.position).then((data) => {
- if (data) {
- console.log(data)
- var getLayerId = data.id
- // 屏幕坐标转世界坐标——关键点
- var ellipsoid = viewer.scene.globe.ellipsoid;
- var cartesian = viewer.camera.pickEllipsoid(e.position, ellipsoid);
- //将笛卡尔坐标转换为地理坐标
- var cartographic = SuperMap3D.Cartographic.fromCartesian(cartesian);
- //将弧度转为度的十进制度表示
- window.lon = SuperMap3D.Math.toDegrees(cartographic.longitude);
- window.lat = SuperMap3D.Math.toDegrees(cartographic.latitude);
- var point2 = {
- longitude: window.lon,
- latitude: window.lat
- };
- doSqlQuery([getLayerId])
- }
- })
- }, SuperMap3D.ScreenSpaceEventType.LEFT_CLICK);
-
-
- }
- //管网查询
- function doSqlQuery(id) {
- var getFeatureParam, getFeatureBySQLService, getFeatureBySQLParams;
- // getFeatureParam = new SuperMap.REST.FilterParameter({
- // attributeFilter: id
- // });
- getFeatureBySQLParams = new SuperMap.REST.GetFeaturesByIDsParameters({
- IDs: id,
- toIndex: -1,
- datasetNames: ["kfData:ysline1_1", "kfData:第一二批WS_Point_1", "kfData:hsLine1_1",
- "kfData:wsLine1_1", "kfData:第一二批YS_Point_1", "kfData:第一二批YW_Point_1"
- ]
- });
- var url =
- 'https://supermap0.wh-nf.cn:8090/iserver/services/data-pipeData/rest/data/'; // 数据服务地址
- getFeatureBySQLService = new SuperMap.REST.GetFeaturesByIDsService(url, {
- eventListeners: {
- "processCompleted": onQueryComplete, // 查询成功时的回调函数
- "processFailed": processFailed // 查询失败时的回调函数
- }
- });
- getFeatureBySQLService.processAsync(getFeatureBySQLParams);
- }
-
- function onQueryComplete(queryEventArgs) {
- var selectedFeature = queryEventArgs.originResult.features[0]; //
- console.log('拿到管网数据selectedFeature---', selectedFeature)
- }
-
-
- function processFailed(queryEventArgs) {
- console.log(queryEventArgs);
- }
- if (typeof SuperMap3D !== 'undefined') {
- window.startupCalled = true;
- onload(SuperMap3D);
- }
- </script>
-
-
- </body>
-
- </html>