最近學習cesium的3D引擎,有關圖層切換的例子比較少,在官網上看見了一些例子加以自己的理解。投機了一種近似於圖層切換的效果。 這種圖層切換每次點擊按鈕時,會把其他的數據和實體給刪除。然後再創建或載入一個新的 閑話不多說我們直接上代碼 ...
最近學習cesium的3D引擎,有關圖層切換的例子比較少,在官網上看見了一些例子加以自己的理解。投機了一種近似於圖層切換的效果。
這種圖層切換每次點擊按鈕時,會把其他的數據和實體給刪除。然後再創建或載入一個新的
閑話不多說我們直接上代碼
Sandcastle.addToolbarButton('Basic styling', function() { viewer.dataSources.add(Cesium.GeoJsonDataSource.load(URL, { stroke: Cesium.Color.HOTPINK, fill: Cesium.Color.PINK.withAlpha(0.5), strokeWidth: 3 })); }); Sandcastle.addToolbarButton('按鈕',function() { var position = Cesium.Cartesian3.fromDegrees(116.39053344726561,39.89604077881996, 0.0); var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(135), 0.0, 0.0); var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr); var model = viewer.entities.add({ id:'01', position : position, orientation : orientation, model : { uri : URL, minimumPixelSize : 128, maximumScale : 20000 } }); },"toolbar"); Sandcastle.reset = function() { viewer.dataSources.removeAll(); viewer.entities.removeById('01')//根據id刪除entity //設置相機為home為起點 viewer.camera.lookAt(Cesium.Cartesian3.fromDegrees(116.39053344726561,39.89604077881996, 2631.082799425431), new Cesium.Cartesian3(0.0, -4790.0, 3930.0)); viewer.camera.lookAtTransform(Cesium.Matrix4.IDENTITY); }; //Sandcastle_End Sandcastle.finishedLoading();