我正在为我的Google地图应用添加新图层,并希望在那里添加新徽标。就像在这种情况下:
在谷歌地图API中有一些干净的方法吗,比如在google maps API v2中使用GCopyright
和GCopyrightCollection
类?或者这是否在v3中缺失(与许多其他功能一样),我必须手动完成?
答案 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);
同样可以添加版权信息。但是您无法修改默认版权,您必须将其添加到默认值旁边的某个位置。
如果要添加绑定到边界框和/或缩放级别的版权信息,则必须手动创建此类行为。