mirror of
				https://github.com/jiawanlong/Cesium-Examples.git
				synced 2025-11-04 01:04:17 +00:00 
			
		
		
		
	
		
			
	
	
		
			62 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			62 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
								 | 
							
								<!--********************************************************************
							 | 
						||
| 
								 | 
							
								* by jiawanlong
							 | 
						||
| 
								 | 
							
								*********************************************************************-->
							 | 
						||
| 
								 | 
							
								<!DOCTYPE html>
							 | 
						||
| 
								 | 
							
								<html>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<head>
							 | 
						||
| 
								 | 
							
								    <meta charset="UTF-8" />
							 | 
						||
| 
								 | 
							
								    <link rel="stylesheet" href="./../../libs/cesium/Cesium1.98/Widgets/widgets.css">
							 | 
						||
| 
								 | 
							
								    <script type="text/javascript" src="./../../libs/cesium/Cesium1.98/Cesium.js"></script>
							 | 
						||
| 
								 | 
							
								</head>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<body style="margin: 0; overflow: hidden; background: #fff; width: 100%; height: 100%; position: absolute; top: 0">
							 | 
						||
| 
								 | 
							
								    <div id="map" style="margin: 0 auto; width: 100%; height: 100%"></div>
							 | 
						||
| 
								 | 
							
								    <script type="text/javascript">
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3ZjQ5ZGUzNC1jNWYwLTQ1ZTMtYmNjYS05YTY4ZTVmN2I2MDkiLCJpZCI6MTE3MTM4LCJpYXQiOjE2NzY0NDUyODB9.ZaNSBIfc1sGLhQd_xqhiSsc0yr8oS0wt1hAo9gbke6M'
							 | 
						||
| 
								 | 
							
								        const viewer = new Cesium.Viewer('map', {});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // 加载地形
							 | 
						||
| 
								 | 
							
								        viewer.terrainProvider = new Cesium.CesiumTerrainProvider({
							 | 
						||
| 
								 | 
							
								            url: 'http://data.mars3d.cn/terrain'
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // 监听地形提供者的ready事件
							 | 
						||
| 
								 | 
							
								        viewer.terrainProvider.readyPromise.then(function (terrainProvider) {
							 | 
						||
| 
								 | 
							
								            console.log('地形已加载完成.');
							 | 
						||
| 
								 | 
							
								            getHeight()
							 | 
						||
| 
								 | 
							
								        })
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        function getHeight() {
							 | 
						||
| 
								 | 
							
								            var positions = [
							 | 
						||
| 
								 | 
							
								                Cesium.Cartographic.fromDegrees(120.925145, 27.988257),
							 | 
						||
| 
								 | 
							
								                Cesium.Cartographic.fromDegrees(87.0, 28.0)
							 | 
						||
| 
								 | 
							
								            ];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            // 粗略获取高度
							 | 
						||
| 
								 | 
							
								            var promise = Cesium.sampleTerrain(viewer.terrainProvider, 11, positions);
							 | 
						||
| 
								 | 
							
								            promise.then(function (updatedPositions) {
							 | 
						||
| 
								 | 
							
								                console.log('sampleTerrain')
							 | 
						||
| 
								 | 
							
								                console.log(updatedPositions)
							 | 
						||
| 
								 | 
							
								            });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            // 精确获取高度
							 | 
						||
| 
								 | 
							
								            var promise2 = Cesium.sampleTerrainMostDetailed(viewer.terrainProvider, positions);
							 | 
						||
| 
								 | 
							
								            promise2.then(function (updatedPositions) {
							 | 
						||
| 
								 | 
							
								                console.log('sampleTerrainMostDetailed')
							 | 
						||
| 
								 | 
							
								                console.log(updatedPositions)
							 | 
						||
| 
								 | 
							
								            });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            // 另外一种获取高度方式(非常不准确!!!)
							 | 
						||
| 
								 | 
							
								            var cartographic = Cesium.Cartographic.fromDegrees(120.925145, 27.988257);
							 | 
						||
| 
								 | 
							
								            var posi = new Cesium.Cartographic(cartographic.longitude, cartographic.latitude)
							 | 
						||
| 
								 | 
							
								            var height = viewer.scene.globe.getHeight(posi)
							 | 
						||
| 
								 | 
							
								            console.log(height)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    </script>
							 | 
						||
| 
								 | 
							
								</body>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</html>
							 |