Supermap IClient3D 加載3DTiles傾斜攝影數據


由於傾斜攝影數據默認的地理坐標系與超圖的坐標系不一樣。

  var obj = [6378137.0, 6378137.0, 6356752.3142451793];
  Cesium.Ellipsoid.WGS84 = Object.freeze(new Cesium.Ellipsoid(obj[0], obj[1], obj[2]));
var viewer, url;
   viewer = new Cesium.Viewer('cesiumContainer');
   var scene = viewer.scene;
//模型地址 url
= "http://172.23.50.51:8090/iserver/services/3D-CeShi2/rest/realspace"; var promise = scene.open(url); Cesium.when(promise, function (layer) { //設置相機位置、視角,便於觀察場景 scene.camera.setView({ destination: new Cesium.Cartesian3.fromDegrees(cameraPosition.longitude, cameraPosition.latitude, cameraPosition.altitude), orientation: { heading: cameraPosition.heading, pitch: tilt, roll: 0 } }); if (!scene.pickPositionSupported) { alert('不支持深度紋理,無法拾取位置!'); } }, function (e) { if (widget._showRenderLoopErrors) { var title = '加載SCP失敗,請檢查網絡連接狀態或者url地址是否正確?'; widget.showErrorPanel(title, undefined, e); } });

3DTiles傾斜攝影模型

   try {
        var tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({ url: 'https://localhost:5001/cl/tileset.json' }));
        // 修復偏移量
        tileset.readyPromise.then(function (tileset) {
            viewer.scene.primitives.add(tileset);

            var heightOffset = -220;  //高度
            var boundingSphere = tileset.boundingSphere;
            var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center);
            var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0);
            var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, heightOffset);
            var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());
          //  tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
            viewer.zoomTo(tileset);
        }).otherwise(function (e) {
            throw e
        });

    } catch (e) {
        console.log(e);
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM