cesium中json、topojson、geojson、stk,影像切片等數據的加載
一、geojson、topojson,json數據的加載
不管是哪種json,都可以通過GeoJsonDataSource去加載;方式是一樣的。
例:
1 var viewer = new Cesium.Viewer('cesiumContainer'); 2 viewer.dataSources.add(Cesium.GeoJsonDataSource.load('../aa/bb.topojson', { 3 stroke: Cesium.Color.HOTPINK, 4 fill: Cesium.Color.PINK, 5 strokeWidth: 3, 6 markerSymbol: '?' 7 }));
二、STK數據的加載
例:
1 viewer.terrainProvider = new Cesium.CesiumTerrainProvider({ 2 url:http://.....()此處為本地或者線上的http鏈接 3 requestVertexNormals: true, 4 requestWaterMask: false, 5 options1 6 })
三、影像切片數據的加載
例:
1 viewer.imageryLayers.addImageryProvider = new Cesium.GoogleMapsImageryProvider(options2); 2 var imageryProvider2 = new Cesium.KQGIS3DTileFileImageryProvider(options2); 3 var imageryLayer2 = new Cesium.ImageryLayer(imageryProvider2, { show: true }); 4 viewer.imageryLayers.add(imageryLayer2);
四、cesium位置初始化
cesium位置初始化,就是在你剛加載3d頁面的時候,相機所指向的位置(或者其他一些需要初始化的地方。)
話不多說,直接上案例,有不懂的請加下面的學習群,一起討論。
1 viewer.scene.camera.flyTo({
2 destination: new Cesium.Cartesian3.fromDegrees(118.16029, 30.15988, 29600.209), 3 orientation: { 4 heading: Cesium.Math.toRadians(0), 5 pitch: Cesium.Math.toRadians(-90), 6 roll: Cesium.Math.toRadians(0) 7 }, 8 duration: 3.0 9 })
其中的flyto是你飛到某個位置的一個方法。
118.16029, 30.15988, 29600.209這三個數分別是你的經度、緯度還有高程的位置。
heading: Cesium.Math.toRadians(0), pitch: Cesium.Math.toRadians(-90), roll: Cesium.Math.toRadians(0) 請看下面的文檔解釋:
duration: 3.0這句話的意思是,你飛到這個位置所用的時間是3秒。
