2012-12-04 2 views
7

: API를 통한 맞춤형 Google지도 레이어? 이 Google지도 API v3에 관한됩니다

다양한이 Polylines, Polygons, MapLabels 또는 사용자 정의 구글지도의 다른 오버레이 요소 중 하나가, 그것은 mapPane에 그들을 끌어 그릴

. 어떻게하면 오버레이 객체를 그릴 수 있고 그 레이어를 쉽게 활성화/비활성화 (표시/숨기기) 할 수있는 여러 사용자 정의 레이어를 만들 수 있습니까? 사용자 정의 계층에 대한 https://developers.google.com/maps/documentation/javascript/layers

하지만 아무것도 :

는 여기 층에 대한 설명서를 참조하십시오. 당신이 보여줄 수있는,

var LayerOverlay = function() { 
    this.overlays = []; 
} 
LayerOverlay.prototype = new google.maps.OverlayView(); 
LayerOverlay.prototype.addOverlay = function (overlay) { 
    this.overlays.push(overlay); 
}; 
LayerOverlay.prototype.updateOverlays = function() { 
    for (var i = 0; i < this.overlays.length; i++) { 
    this.overlays[i].setMap(this.getMap()); 
    } 
}; 
LayerOverlay.prototype.draw = function() {}; 
LayerOverlay.prototype.onAdd = LayerOverlay.prototype.updateOverlays; 
LayerOverlay.prototype.onRemove = LayerOverlay.prototype.updateOverlays; 

그런 다음 한 번 LayerOverlay에 오버레이를 추가하거나 하나의 setMap으로 숨길 :

답변

6

당신은 그렇게 할 수있는 사용자 정의 OverlayView를 만들 수 있습니다 매우 흥미로운

var layer1 = new LayerOverlay(); 
layer1.addOverlay(createMarker()); 
layer1.addOverlay(createMarker()); 
layer1.addOverlay(createMarker()); 

// hide all markers 
layer1.setMap(null); 

// show all markers 
layer1.setMap(map); 
+0

을 .. Google지도가 거리/지형/위성 등을 켜거나 끄는 것과 같은 방식으로 전환 되는가? –

+0

내부 Google지도 코드가 난독 화되어 말하기가 어렵습니다. –

+0

감사합니다. API 참조 외에 'OverlayView'에 대한 다른 문서가 있습니까? 다른 예제가 있으면 어떨까요? 내가 그것을 사용할 수있는 다른 방법이 있다면 나는 생각하지 않는다. –