2011-11-28 3 views
3

Google지도 애플리케이션에 새 레이어를 추가하고 거기에 새 로고를 추가하고 싶습니다. 마찬가지로이 경우 :Google지도의 저작권에 로고를 추가하는 방법은 무엇입니까?

enter image description here

구글지도 API v2를에 GCopyrightGCopyrightCollection 클래스를 사용하는 것처럼, 구글지도 API에서 그것을 수행하는 방법 몇 가지 청소 방법이 있나요? 아니면 다른 많은 기능과 마찬가지로 v3에서 누락 되었습니까? 수동으로해야합니까?

+0

이제 매우 비슷한 질문을 발견했습니다. http://stackoverflow.com/questions/5489811/showing-map-copyright-in-gmaps-api-v3 – TMS

답변

7

Google Maps API v3에는 저작권 API가 없습니다. v2에서는 GCopyright이 로고가 아닌 텍스트 저작권 정보를 추가하는 데 사용되었습니다.

지도에 로고를 추가하려면 custom control을 만들어야합니다.

는 로고 사용자 지정 컨트롤을 만듭니다
function MyLogoControl(controlDiv) { 
    controlDiv.style.padding = '5px'; 
    var logo = document.createElement('IMG'); 
    logo.src = 'img/my_logo.png'; 
    logo.style.cursor = 'pointer'; 
    controlDiv.appendChild(logo); 

    google.maps.event.addDomListener(logo, 'click', function() { 
     window.location = 'http://www.example.com'; 
    }); 
} 

지도에 컨트롤을 추가
var logoControlDiv = document.createElement('DIV'); 
var logoControl = new MyLogoControl(logoControlDiv); 
logoControlDiv.index = 0; // used for ordering 
map.controls[google.maps.ControlPosition.BOTTOM_LEFT].push(logoControlDiv); 

는 마찬가지로 저작권 정보를 추가 할 수 있습니다. 하지만 기본 저작권을 수정할 수는 없으므로 기본값 옆에 추가해야합니다.

테두리 상자 및/또는 확대/축소 수준에 바인딩 된 저작권 정보를 추가하려면 이러한 동작을 수동으로 만들어야합니다.

+0

감사의 말씀 Tomik, 좋아 보인다! 그리고 오른쪽 하단 구석에있는 텍스트 정보는? BOTTOM_LEFT가 BOTTOM_RIGHT로 대체 된 것과 동일한 코드를 사용 하시겠습니까? – TMS

+0

네, 기본적으로 (MyLogoControl()의 내용은 조금 다를 것입니다) 동일한 코드가 될 것이고 BOTTOM_RIGHT 또는 RIGHT_BOTTOM을 사용할 것입니다. BOTTOM_RIGHT에서는 컨트롤이 기본 저작권의 왼쪽에 배치되며 컨트롤을 수정할 수 없습니다. – Tomik

+0

1 대신'logoControlDiv.index = 0'을 사용해야합니다. 게시물을 수정했습니다. 감사. – TMS

관련 문제