Cesium关于添加billboard的几个问题

1、将billboard添加到模型或地形上方

let entity = viewer.entities.add({
    billboard: {
        image: require('./img/tjd.png'),
        //heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,  //广告牌贴地
        verticalOrigin: Cesium.VerticalOrigin.BOTTOM
    },
});
​
let handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction(e => {
    position  = viewer.scene.pickPosition(e.position); //用来添加广告牌
    if (!position) return;
    let cartographic = Cesium.Cartographic.fromCartesian(position);
    let lng = Cesium.Math.toDegrees(cartographic.longitude); // 经度
    let lat = Cesium.Math.toDegrees(cartographic.latitude); // 纬度
    let height = cartographic.height
    entity.position= Cesium.Cartesian3.fromDegrees(lng,lat,height);
    // e.position 输出结果为  Cartesian2格式,
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

2、清除3dtiles模型

if (modle){
    viewer.scene.primitives.remove(modle);
    modle = undefined;
}

3、修改鼠标光标样式

viewer._container.style.cursor = 'crosshair';//十字形
viewer._container.style.cursor = 'default'; //将光标设置为默认

4、globe的pick方法、scene的pick方法、pickPosition的对比

4.1 globe的pick方法

        找到一个射线和渲染的球体表面之间的交集。结果为笛卡尔世界坐标。但是该方法忽略了地表加载的3Dtiles房屋模型数据

let windowPosion = viewer.scene.globe.pick(viewer.camera.getPickRay(e.position),viewer.scene);

4.2 scene的pick方法

        scene.pick可以通过此方法获取到pick对象,通过pick.id即可拾取当前的entity对象,也可以获取Cesium3DTileFeature对象;

let pickedObject = viewer.scene.pick(e.position); //用来拾取 Entity 和3Dtiles

4.3 scene.pickPosition

        通过viewer.scene.pickPosition(e.position)获取,可以获取场中任意点击处的对应的世界坐标。

let handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
handler.setInputAction(e => {
    console.log(handler );    //方法内容 e.position 输出结果为  Cartesian2格式,
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值