cesium 点击高亮
时间: 2023-11-11 12:07:25 浏览: 171
在 Cesium 中,可以通过设置实体的属性来实现点击高亮。具体步骤如下:
1. 创建一个实体,并设置其属性,例如颜色、轮廓等。
2. 监听鼠标点击事件,当点击实体时,将其属性修改为高亮状态。
3. 当鼠标移开时,将实体属性恢复为原始状态。
以下是一个示例代码:
```javascript
var entity = viewer.entities.add({
name: 'example',
position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
point: {
pixelSize: 10,
color: Cesium.Color.YELLOW
},
label: {
text: 'Example',
font: '14pt monospace',
style: Cesium.LabelStyle.FILL_AND_OUTLINE,
outlineWidth: 2,
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
pixelOffset: new Cesium.Cartesian2(0, -9)
},
// 添加轮廓
polyline: {
positions: Cesium.Cartesian3.fromDegreesArray([-75.59777, 40.03883, -80.23709, 25.79301]),
width: 5,
material: Cesium.Color.YELLOW
}
});
var highlightColor = Cesium.Color.RED.withAlpha(0.5);
// 监听鼠标点击事件
viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(movement) {
var pickedObject = viewer.scene.pick(movement.position);
if (Cesium.defined(pickedObject) && pickedObject.id === entity) {
// 高亮实体
entity.point.color = highlightColor;
entity.polyline.material = highlightColor;
} else {
// 恢复实体属性
entity.point.color = Cesium.Color.YELLOW;
entity.polyline.material = Cesium.Color.YELLOW;
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
```
阅读全文