如何在Google地图中为版权添加徽标?

时间:2011-11-28 10:11:45

标签: google-maps google-maps-api-3

我正在为我的Google地图应用添加新图层,并希望在那里添加新徽标。就像在这种情况下:

enter image description here

在谷歌地图API中有一些干净的方法吗,比如在google maps API v2中使用GCopyrightGCopyrightCollection类?或者这是否在v3中缺失(与许多其他功能一样),我必须手动完成?

1 个答案:

答案 0 :(得分: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);

同样可以添加版权信息。但是您无法修改默认版权,您必须将其添加到默认值旁边的某个位置。

如果要添加绑定到边界框和/或缩放级别的版权信息,则必须手动创建此类行为。