2014-09-03 2 views
-1

여기가 처음 게시됩니다. Javascript 또는 Google Maps API를 처음 사용하는 중입니다. 하나의 KML 레이어가있는지도가 있는데 클릭 할 때 레이어를 켜거나 끄는 확인란을 만들고 싶습니다. 웹에서 많은 예제를 보았지만 응용 프로그램에서는 아무 것도 작동하지 않는 것 같습니다.KML 레이어를 켜고 끌 수있는 기능

(function() { 
window.onload = function() { 

    var options = { 
     center: new google.maps.LatLng(44.65, 22.64), 
     zoom: 10, 
     mapTypeId: google.maps.MapTypeId.TERRAIN, 
     mapTypeControl: true, 
     mapTypeControlOptions: { 
      mapTypeIds: [ 
       google.maps.MapTypeId.HYBRID, 
       google.maps.MapTypeId.SATELLITE, 
       google.maps.MapTypeId.TERRAIN 
      ]  
     }, 
     streetViewControl: false 
    }; 

    var map = new google.maps.Map(document.getElementById('map'), options); 

    var kmlUrl = 'http://googledrive.com/host/0B55_4P6vMjhITEU4Ym9iVG8yZUU/trasee.kml'; 
     var kmlOptions = { 
     suppressInfoWindows: false, 
     preserveViewport: false, 
    }; 

    var trasee = new google.maps.KmlLayer(kmlUrl, kmlOptions).setMap(map); 

} 
})(); 

내가 HTML 파일의 체크 박스를 생성 한 입력해도, 레이어의 가시성을 전환하기 위해 만들 수있는 어떤 기능을 아무 생각이 없다 :

<input type="checkbox" id="straturi" onClick="togglefunction()" /> 

당신이 줄 수를 여기에 코드입니다 조언 좀 해줘 요?

안부, Alexandru

+0

가능한 중복 http://stackoverflow.com/questions/17409598/toggle-multiple 매개 변수로 trasee로 부를 것이다 -kml-kml-layers-in-google-maps-api-v3) – geocodezip

답변

0

그렇지 않으면 해당 개체를 볼 수 없습니다, 토글 기능은 무엇인가와 같은

var toggleKml=function(layer) { 
    if(layer.getMap()===null) { 
     layer.setMap(map) 
    } else { 
     layer.setMap(null) 
    } 
}; 

해야 그리고지도와 trasee 같은 맥락에서 정의 될 필요가 . 귀하의 경우에는, 당신은

toggleKml(trasee); 
[구글지도 API v3의 전환 여러 KML/KML 레이어 (의
+0

고마워요, 제가 그걸 할 수있었습니다 –

+0

내 대답이 작동했거나 다른 방법을 찾았습니까? – amenadiel

+0

예, 귀하의 기능을 사용했습니다. –

관련 문제