5

セシウムで CZML ファイルを読み込んでいます。「myid」というIDを持つポリゴンがクリックされた場合、複数のポリゴン(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);

クリック時に他の関連するポリゴンを処理するにはどうすればよいですか? どんな助けでも大歓迎です。

4

1 に答える 1

3

私はcesiumjs forumでその答えを見つけました。

要するに:

viewer.dataSources.get(0).entities.getById('myid_'+i).polygon.material = colorProperty;
于 2016-06-06T18:06:37.697 に答える