cesiumを勉強して、レイヤーインタフェースの切り替えについて

1880 ワード

最近はcesiumの3 Dエンジンを勉強していますが、レイヤーの切り替えに関する例が少ないので、公式サイトでいくつかの例を見て自分で理解しています.レイヤー切り替えに近い効果を投機しました.
このレイヤーはボタンを押すたびに他のデータとエンティティを削除します.次に新しいものを作成または読み込みします.
雑談は多くなくて、直接コードします.
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();
  
転載先:https://www.cnblogs.com/xiada-zhihua/p/11259958.html