您想要做的是将“标准”Googlemaps infoWindow 替换为您自己的信息窗口,并将您的内容放入其中。一旦您更换了标准 GM 信息窗口,您就有很大的工作自由度。我所做的是这样的:
添加一个名为#infoWindow 的新样式 ID,并设置其宽度。
#infoWindow {
width: 150px;
}
在 Javascript 中的任何函数之外,我创建了一个新的信息窗口:
var infoWindow = new google.maps.InfoWindow();
在函数中创建一个新的变量来设置标记显示的信息,并将其值设置为内容:
var html = '<div id="infoWindow">';
html += 'NY<br />total 60<br />2009: 10<br />2010: 20<br />2011: 30';
html +='</div>';
使用您在其他地方创建的位置信息调用 createMarker 函数,并将 html var 作为参数之一包含在内:
var marker = createMarker(point,name,html);
您可以在其他地方声明 createMarker 函数,它将所有信息集中在一起,在地图上显示标记,并在单击时显示上面的信息:
function createMarker(latlng,name,html) {
var contentString = html;
var marker = new google.maps.Marker({
position: latlng,
map: map,
title: name
});
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(contentString);
infoWindow.open(map,marker);
});
}