我创建了一个Google Map,我使用InfoBox library自定义InfoWindows。 然而,我努力使一些InfoWindows比其他人更广泛。这可以在demo map中看到。
var w = "530px";
if(!foto){
w= "200px";
}
var myOptions = {
maxWidth: 0
,boxStyle: { background: "url('tipbox.gif') no-repeat", width: w }
,closeBoxMargin: "10px 2px 2px 2px"
};
infoWindow = new InfoBox(myOptions);
调试演示我看到w设置正确:
然而,两个InfoWindows都有相同的宽度。
答案 0 :(得分:0)
当标记点击侦听器运行时,您更改了infoBox(setContent(boxText))的内容,但不更改大小。用setOptions(myOptions)替换setContent调用,这将改变所有内容,包括boxText。
google.maps.event.addListener(marker, "click", function(){
if(map.getZoom() < 6) map.setZoom(6);
map.panTo(marker.getPosition());
infoWindow.setOptions(myOptions);
infoWindow.open(map, marker);
});
BTW - 以合理的方式缩进代码会使其更容易理解。