OpenLayers:レイヤーの可視性をオンにする方法?
-
21-12-2019 - |
質問
私は何をしているのか理解できませんか?私は本当にうまくいったすべてを書いたと思います:
HTMLコードは次のようになります。
<b> Select Area</b>
<select id="mySelect_1" onchange="showSelectedArea();" >
<option selected disabled hidden value=''></option>"
<option value="1">Center</option>
<option value="2">New jersey</option>
</select>
.
とJavaScriptはこれです:
layer1.setVisibility(false);
layer2.setVisibility(false);
layer3.setVisibility(false);
layer4.setVisibility(false);
}
function showSelectedArea() {
var e = document.getElementById("mySelect_1");
var valueEpilogi_1 = e.options[e.selectedIndex].value;
if (valueEpilogi_1 == "1") {
layer3.setVisibility(true);
}
}
.
私はtrue== trueを設定している場合、その値を渡すと、true.iの可視性が設定されていない場合は、問題があるとは思わない。selectタグで関数をトリガすることに問題があると思います>
外付けJSファイルを確認して、問題は何ですか?私はOnbody Loadを実行するinit関数内のすべてのレイヤーを定義しますか?THTEの問題は?SNK.TO / F-CDH90XD4
解決
選択した値の値を読む必要があります。
varueepilogi_1= document.getElementByID( 'mySelect_1')。値;
編集: init()関数の外側に 'レイヤー'を使用したい場合は、グローバル変数
として定義する必要があります。例:
function init(){
/* this variable is global, declaration without 'var' before, so it can be used out of the function*/
perioxes = new OpenLayers.Layer.Vector("Polygon Layer");
...
map.addLayer(perioxes);
..
perioxes.setVisibility(false);
...
}
function showSelectedArea() {
var valueEpilogi_1 = document.getElementById('mySelect_1').value ;
if (valueEpilogi_1 == "1") {
layer.setVisibility(true);
}
}
. 所属していません StackOverflow