mirror of
				https://github.com/jiawanlong/Cesium-Examples.git
				synced 2025-11-04 09:14: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.eyJqdGkiOiIwNDljNWFmZC03MzRlLTRiMDMtYWIwMi00Yjk4YWQ4NzQwZGEiLCJpZCI6MjU5LCJpYXQiOjE3NTEzNzkyMzR9.OTqPNs3UGNnT1LYkPTavV80wN8Es_YphpJgQcpdnqWc'
 | 
						|
        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> |