3

2つのベクトルレイヤーを持つOpenLayersマップがあります。どちらにもマーカーが含まれています。

次のリンクの助けを借りて、私は両方のレイヤーでselect-handlerを取得することができました。 http://openlayers.org/dev/examples/select-feature-multilayer.html

このselect-handlerは、両方のレイヤーのマーカーに対して同じ関数を実行します。しかし、選択したレイヤーがどのレイヤーに配置されているかをどのように変えることができますか?

4

1 に答える 1

4

OpenLayersでは、ハンドラーイベントは単一のビューポートまたはマップキャンバスでトリガーされるため、各レイヤーにイベント(機能の選択と機能の選択解除)を添付する必要があります。ページの例のコードに従うと、同じイベントを使用することが明確になります。しかし、あなたがあなた自身のコードを変えるかもしれない異なる場所。

vectors1.events.on({
            "featureselected": function(e) {
                showStatus("selected feature "+e.feature.id+" on Vector Layer 1");
            },
            "featureunselected": function(e) {
                showStatus("unselected feature "+e.feature.id+" on Vector Layer 1");
            }
        });

vector2の場合、同じイベントが添付されます。上記のコードが示すように、機能が配置されているレイヤーを探している場合。

于 2011-10-19T06:14:03.767 に答える