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);
}
}
.
문제는 문제를 if 또는 전달하는 것입니다. true를 설정하면== true는 여전히 true를 설정할 수 없습니다. 외부 JS 파일을 확인하고 문제가 무엇인지 알려주십시오.나는 누드로드를 실행하는 init 함수의 모든 레이어를 정의 하시겠습니까 ?? thte thte 문제가 있습니까?snk.to/f-cdh90xd4
해결책
선택 시도의 값을 읽어야합니다.
var valueepilogi_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