1
jQuery를 사용하여 사용자가 입력 요소를 선택하는 레이어 whe에 대해 OpenLayers에서 가시성을 설정하려고합니다.jQuery로 openlayers 함수를 호출합니다.
<ul>
<li class="ls_sivi"> <input type="checkbox" value="1" style="width:auto"><label>stars</label></li>
<li class="ls_sivi"><input type="checkbox" value="2" style="width:auto"><label>home</label></li>
</ul>`
그리고 jQuery를보다 : 내가 얻을
$(document).ready(function(){
var sloj = new Array();
sloj[1]=stars;
sloj[2]=home;
$('.ls_sivi input[type="checkbox"]').change(function(){
var vri = $(this).val();
if($(this).is(":checked")){
sloj[vri].setVisibility(true);
return
}
sloj[vri].setVisibility(false);
});
});
stars = new OpenLayers.Layer.Vector("stars", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "textfile.txt",
format: new OpenLayers.Format.Text()
})
});
home = new OpenLayers.Layer.Vector("home", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "textfile1.txt",
format: new OpenLayers.Format.Text()
})
});
map.addLayers([stars, home]);
여성용는 HTML 코드의 일부는 다음과 같습니다
레이어가 정의 코드의 일부이다 :"sloj [vri] .setVisibility"는 함수가 아닙니다.
더 많은 레이어가 있고 가장 쉬운 방법 일 수 있으므로 어떻게이 문제를 해결할 수 있습니까?
나는 당신이 당신의 체크 박스 참조를 다시 한 번 확인한다고 생각합니다. 나는 그것이 함수가 아니라고 말하는 이유는 vri이 당신이 생각하는 것이 아니기 때문이라고 생각합니다. –
당신 말이 맞지만 vri을 내가 얻은 숫자로 바꾸십시오. 'sloj [2]'를 객체 – user971146
으로 변환 할 수 없습니다 ... 감사합니다. – user971146