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 实体点击事件的主要内容,如果未能解决你的问题,请参考以下文章