features
(マーカー)を含む2 layer
のマップがあります。マップが十分に拡大されていれば、1 layer
は見えなくなり、もう1つは見えるようになりました。このように:私は今、追加する必要がどのようなOpenlayers 4 - 機能をクリックするとレイヤーが見えなくなります
this.map.getView().on('propertychange', (e: any) => {
if (e.key == "resolution") {
if (this.map.getView().getZoom() >= 17) {
exampleLayer1.setVisible (false);
exampleLayer2.setVisible (true);
} else if(this.map.getView().getZoom() < 17) {
exampleLayer2.setVisible (false);
exampleLayer1.setVisible (true);
}
}
})
はあなたがexampleLayer1
層にfeature
をクリックすると、マップはその機能の場所にで、センターズームだろうということです、exampleLayer1
が消えるようであろうと、 exampleLayer2
が表示されます。このために、私は、この関数を使用します。
var select_interaction = new ol.interaction.Select();
select_interaction.getFeatures().on("add", (e: any) => {
var feature = e.element;
this.map.getView().setCenter(feature.getGeometry().getCoordinates())
this.map.getView().setZoom(17);
});
this.map.addInteraction(select_interaction);
ほとんどすべてが1 layer
が消え、もう一方が表示されますを意味し、正常に動作します。ただし、feature
がクリックされても、親(layer
)は表示されなくても消えません。 feature
から離れてクリックすると消えます。
feature
をクリックしたときに、layer
(feature
がクリックされていることを含む)を非表示にするにはどうすればよいですか?
Tx、これは私に役立った – FlorisdG