2014-03-05 2 views
0

임베디드 브라우저 창이있는 응용 프로그램이 있습니다.동적으로 생성 된 kmlLayer 제거

내 응용 프로그램에서 kmlLayer를 만들고 싶습니다. 다음과 같이 즉시 수행 할 수 있습니다.

function addKmlLayer(kmlURL) { 
    var kmlLayer = new google.maps.KmlLayer({ url: kmlURL }); 
    kmlLayer.setMap(my_map); 
} 

사용자가 여러 개의 kmlLayers를 추가 할 수 있도록 허용 할 것입니다.

또한 kmlLayer.setMap (null)을 사용하여 레이어를 제거 할 수 있다는 것도 알고 있습니다.

이전 kmlLayer에서 null로 설정하는 방법은 무엇입니까? kmlLayer (ID, 이름 등)를 식별 할 수있는 방법이 있습니까?

답변

1

하나의 옵션은 KmlLayer를 다음

var kmlLayer = null; 
function addKmlLayer(kmlURL) { 
    kmlLayer = new google.maps.KmlLayer({ url: kmlURL }); 
    kmlLayer.setMap(my_map); 
} 

을 숨길 수에 글로벌 참조를 유지하는 것입니다,이 작동합니다 :

if ((kmlLayer != null) && kmlLayer.setMap) kmlLayer.setMap(null); 
+0

불행하게도 :

kmlLayer.setMap(null); 

을 수행 할 수 있습니다 , 사용자가 표시 할 여러 개의 kml 파일을 선택할 수 있도록 허용하고 있으며 동시에 추가 할 필요가 없습니다. – user3384141

+0

그래서 kmlLayer에 배열을 사용하십시오. (그리고 그것을 지원하는 코드를 여러분의 질문에 추가하십시오) – geocodezip