cesium 实体点击事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cesium 实体点击事件相关的知识,希望对你有一定的参考价值。

参考技术A 如果单个实体,可参考此文章

https://blog.csdn.net/zhangqun23/article/details/83056315

若多个实体匹配触发事件

$(document).ready(function ()

    $.get('/api/emergency/notFinshed', function (data)

var idArr = [];

        var cid;

        for (var i=0;i

var item = data[i];

            cid = item.id;

            idArr.push(cid);

            var placeJson = item.palce;

            var opjson = Number(placeJson.split(",")[0]);

            var tpjson = Number(placeJson.split(",")[1]);

            // if (emerId==id)

                viewer.entities.add(

id:cid,

                    position:Cesium.Cartesian3.fromDegrees(opjson, tpjson),

                    billboard:

name:'point',

                        image:'/img/map/emergency.png',

                        width:24,

                        height:24

                    ,

                    name:'应急事件信息',

                    // description: '<table><tr><td>事件描述:</td><td>' + item.id + '</td></tr>'+'<tr><td>中心点坐标:'+item.palce+'',

                );

                // // 应急点范围

                // viewer.entities.add(

//    position: Cesium.Cartesian3.fromDegrees(opjson, tpjson),

//    // name : 'Red ellipse on surface',

//    ellipse :

//        semiMinorAxis :100.0,

//        semiMajorAxis : 100.0,

//        material : Cesium.Color.RED.withAlpha(0.5)

//   

// );

//

       

var handler =new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);

        handler.setInputAction(function (movement)

var pick = viewer.scene.pick(movement.position);

            // if (Cesium.defined(pick) && (pick.id.id === cid))

            if (Cesium.defined(pick) && ($.inArray(pick.id.id, idArr)>-1))

window.open('/emergency-on-duty/onduty?'+"emerId="+pick.id.id);

           

, Cesium.ScreenSpaceEventType.LEFT_CLICK);

    )

);

cesium(鼠标事件)

本文示列 cesium 鼠标添加事件、及删除事件。

创建viewer

var viewer = new Cesium.Viewer(‘cesiumContainer‘);

鼠标事件

var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);

 

//1、左键单击事件

handler.setInputAction(function(click){
    console.log(‘左键单击事件:‘,click.position);     
},Cesium.ScreenSpaceEventType.LEFT_CLICK);

 

//2、左键双击事件

handler.setInputAction(function(click){
    console.log(‘左键双击事件:‘,click.position);     
},Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);

 

//3、左键按下事件

handler.setInputAction(function(click){
    console.log(‘左键按下事件:‘,click.position);     
},Cesium.ScreenSpaceEventType.LEFT_DOWN);

 

//4、左键弹起事件

handler.setInputAction(function(click){
    console.log(‘左键弹起事件:‘,click.position);     
},Cesium.ScreenSpaceEventType.LEFT_UP);

 

//5、中键单击事??件

handler.setInputAction(function(click){
      console.log(‘中键单击事??件:‘,click.position);     
 },Cesium.ScreenSpaceEventType.MIDDLE_CLICK);

 

//6、中键按下事件

handler.setInputAction(function(click){
      console.log(‘中键按下事件:‘,click.position);     
},Cesium.ScreenSpaceEventType.MIDDLE_DOWN);

 

//7、中键弹起事件

handler.setInputAction(function(click){
    console.log(‘中键弹起事件:‘,click.position);     
},Cesium.ScreenSpaceEventType.MIDDLE_UP);

 

//8、移动事件

handler.setInputAction(function(movement){
    console.log(‘移动事件:‘,movement.endPosition);     
},Cesium.ScreenSpaceEventType.MOUSE_MOVE);

 

//9、右键单击事件

handler.setInputAction(function(click){
    console.log(‘右键单击事件‘,click.position);     
},Cesium.ScreenSpaceEventType.RIGHT_CLICK);

 

//10、右键按下事件

handler.setInputAction(function(click){
    console.log(‘右键按下事件‘,click.position);     
},Cesium.ScreenSpaceEventType.RIGHT_DOWN);

 

//11、右键弹起事件

handler.setInputAction(function(click){
    console.log(‘右键弹起事件‘,click.position);     
},Cesium.ScreenSpaceEventType.RIGHT_UP);

 

//12、滚轮事件

handler.setInputAction(function(wheelment){
    console.log(‘滚轮事件:‘,wheelment);     
},Cesium.ScreenSpaceEventType.WHEEL);

 

//删除事件

handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);

 

以上是关于cesium 实体点击事件的主要内容,如果未能解决你的问题,请参考以下文章

cesium Entity与Primitive效率

cesium 相机camera

Cesium开发入门篇 05Cesium API结构介绍

Cesium 地球旋转(viewer.scene.camera.rotate())以及停止旋转

cesium(鼠标事件)

Cesium鼠标事件