Cesium场景内的鼠标点击事件汇总
**
Cesium鼠标点击事件主要有如下几种:
var viewer = new Cesium.Viewer('cesiumContainer', {
//加载天地图影像地图,WebMapTileServiceImageryProvider该接口是加载WMTS服务的接口
imageryProvider: new Cesium.WebMapTileServiceImageryProvider({
animation: false, //是否显示动画控件
shouldAnimate: true,
homeButton: false, //是否显示Home按钮
fullscreenButton: false, //是否显示全屏按钮
baseLayerPicker: false, //是否显示图层选择控件
geocoder: false, //是否显示地名查找控件
timeline: false, //是否显示时间线控件
sceneModePicker: true, //是否显示投影方式控件
navigationHelpButton: false, //是否显示帮助信息控件
infoBox: false, //是否显示点击要素之后显示的信息
requestRenderMode: true, //启用请求渲染模式
scene3DOnly: false, //每个几何实例将只能以3D渲染以节省GPU内存
sceneMode: 3, //初始场景模式 1 2D模式 2 2D循环模式 3 3D模式 Cesium.SceneMode
//加载谷歌影像地图,UrlTemplateImageryProvider该接口是加载谷歌地图服务的接口
url: 'http://t0.tianditu.gov.cn/img_w/wmts?tk=ebf64362215c081f8317203220f133eb',
layer: 'img',
style: 'default',
tileMatrixSetID: 'w',
format: 'tiles',
maximumLevel: 18
})
});
//定义canvas屏幕点击事件,scene.canvas指的是HTMLCanvasElement元素,也就是屏幕画的东西
var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
//注册鼠标事件
handler.setInputAction(function () {
alert("点击了左键")
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
handler.setInputAction(function () {
alert("点击了中键")
}, Cesium.ScreenSpaceEventType.MIDDLE_CLICK);
handler.setInputAction(function () {
alert("双击了左键")
}, Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
// 其他鼠标点击事件还有
// Cesium.ScreenSpaceEventType.LEFT_CLICK 左键点击事件
// Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK 左键双击事件
// Cesium.ScreenSpaceEventType.LEFT_DOWN 左键按下事件
// Cesium.ScreenSpaceEventType.LEFT_UP 左键抬起事件
// Cesium.ScreenSpaceEventType.MIDDLE_CLICK 滚轮点击
// Cesium.ScreenSpaceEventType.MIDDLE_DOWN 滚轮按下
// Cesium.ScreenSpaceEventType.MIDDLE_UP 滚轮抬起
// Cesium.ScreenSpaceEventType.MOUSE_MOVE 鼠标移动
// Cesium.ScreenSpaceEventType.PINCH_END 两指按下结束
// Cesium.ScreenSpaceEventType.PINCH_MOVE 两指移动
// Cesium.ScreenSpaceEventType.PINCH_START 两指开始触碰
handler.setInputAction(function () {
//取消所有鼠标的点击事件
// handler.destroy()
//取消鼠标某个点击事件,如下是取消右键,也可以为左键或者鼠标移动事件
handler.removeInputAction(Cesium.ScreenSpaceEventType.RIGHT_CLICK);
alert("点击了右键,右键取消了,其他的还在")
}, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
handler.setInputAction(function () {
//取消所有鼠标的点击事件
handler.destroy()
alert("双击了右键,取消全部事件")
}, Cesium.ScreenSpaceEventType.RIGHT_DOUBLE_CLICK);
tips:如果还有小伙伴需要其他的源码的请加我 QQ657155100或者留言联系~
后续小编会持续更新cesium各种源码,特效以及其他效果或者模型加载的实现方式,还希望大家多多关注,小编也会持续更新的!
声明:转载请声明出处。