2012-06-19 1 views
0

Google 퓨전 테이블을 사용하여지도를 만들고 있습니다. 체크 박스가 체크되어 있는지에 따라 표시되거나 숨겨진 여러 레이어가 있습니다. Google Fusion 용 자바 스크립트 테이블 레이어가 작동하지만 코드를 정리하려고합니다

는 I 각 층 (layer10)는 현재 표시되었는지 여부를 추적하기위한 변수 (layer10on)를 사용하여 온/오프 층 좌회전 일부 코드를 생성 :

function toggleLayer10() { 
     if(layer10on) { layerl0.setOptions({map: null}); } 
     if(!layer10on) { layerl0.setOptions({map: map}); } 
     layer10on=!layer10on; 
} 

을 ...

<input type="checkbox" checked onchange="toggleLayer10();" /> 

괜찮 았지만 각 확인란/레이어에이 코드를 복제하지 않으므로 확인란에 체크 표시가되어 있고 어떤 계층과 관련이 있지만 작동하지 않는 매개 변수를 전달하려고합니다.

어떤 도움 내가 많이 주시면 감사하겠습니다 잘못된거야 어디 있는지 알려 그래서 내가 코딩을 한 이후 몇 년이되었습니다

<input value="layer10" id="check10" type="checkbox" checked onchange="toggleLayer(this.value,this.id);" /> 

function toggleLayer(layerToChange,checkboxID) { 
    if(!document.getElementById(checkboxID).checked) { 
     layerToChange.setOptions({map: null}); 
    } 
    if(document.getElementById(checkboxID).checked) { 
     layerToChange.setOptions({map: map}); 
    } 
} 
....

감사합니다,

니콜라

답변

1

나는 this answer의 예 toggleLayer를을 보였다하지만 그 간결 아니다. this_layer는 전역이어야하는 실제 FT 계층입니다. 레이어가 표시되는지 여부를 확인합니다.

function toggleLayer(this_layer) 
{ 
    if(this_layer.getMap()){ 
     this_layer.setMap(null); 
    }else{ 
     this_layer.setMap(map); 
    } 
} 

두 가지 모두지도와 레이어가 필요합니다. 제 생각에는 체크 박스는 다음과 같이 테스트해야합니다.

<input value="layer10" id="check10" type="checkbox" checked onchange="toggleLayer(layer10);" /> 
+0

감사합니다. 매우 감사. – nicola