cesium ------模型加载

本文详细介绍如何使用Cesium JavaScript库加载并展示3D模型。通过具体代码示例,展示了设置地图图层、配置视图参数、取消双击事件、以及从指定URL加载3D模型并调整其位置和方向的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.模型加载

整个代码:
//图层接口
 var esri = new Cesium.ArcGisMapServerImageryProvider({
       url: 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer',
       enablePickFeatures: false
    });
   
    var viewer = new Cesium.Viewer('cesiumContainer', {
       imageryProvider: esri,
       contextOptions: {
          webgl: {
              alpha: true //透明度
          }
       },
       creditContainer: "creditContainer",
       selectionIndicator: false,
       animation: false,  //是否显示动画控件
       baseLayerPicker: false, //是否显示图层选择控件
       geocoder: false, //是否显示地名查找控件
       timeline: false, //是否显示时间线控件
       sceneModePicker: true, //是否显示投影方式控件
       navigationHelpButton: false, //是否显示帮助信息控件
       infoBox: false,  //是否显示点击要素之后显示的信息
       fullscreenButton: true
    });

   //取消双击事件   viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);

/ /创建模型
   createModel('./sampledata/model/barrel.gltf', 0.0);
   
    function createModel(url, height) {
      viewer.entities.removeAll();
		//位置
       var position = Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, height);
       var heading = Cesium.Math.toRadians(135);
       var pitch = 0;
       var roll = 0;
       var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);
       //方位
       var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr);
 		//添加实体
       var entity = viewer.entities.add({
          name: url,
          position: position,
          orientation: orientation,
          model: {
              uri: url,
             minimumPixelSize: 128,
             maximumScale: 20000
          }
       });
       viewer.trackedEntity = entity; //自由相机模式
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值