我在cesium中加载CZML文件。如果单击id为“myid”的多边形,则要突出显示多个多边形(如myid_1,myid_2,myid_3)。但我无法处理它,因为我没有得到其他多边形的实体对象 处理它的颜色变化。 点击处理程序如下。
var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function(click) {
var pickedObject = scene.pick(click.position);
if (Cesium.defined(pickedObject)) {
console.log(pickedObject.id instanceof Cesium.Entity); //returns true
var colorProperty = Cesium.Color.YELLOW;
pickedObject.id.polygon.material = new Cesium.ColorMaterialProperty(colorProperty);
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
如何通过点击处理其他相关多边形?任何帮助表示赞赏。
答案 0 :(得分:1)
我在cesiumjs forum找到了答案。
简而言之:
viewer.dataSources.get(0).entities.getById('myid_'+i).polygon.material = colorProperty;