0

我制作了一个谷歌地图,在其中我使用InfoBox 库自定义了 InfoWindows 。然而,我正在努力使一些 InfoWindows 比其他的更宽。这可以在演示地图中看到。

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 具有相同的宽度。

4

1 回答 1

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);
});

顺便说一句 - 以合理的方式缩进你的代码会更容易理解。

于 2012-07-01T23:48:20.190 回答