google maps v3改变了infowindow的大小

trs*_*trs 9 infowindow google-maps-api-3

我想设置一个infowindow的大小以适应内部的内容.标准infowindow太宽我尝试使用maxWidth但它似乎不起作用.调整信息窗口的最佳方法是什么?

看代码:

    window.setContent( inspStates[i].name+ "<br/>"+"total: "+inspStates[i].totalInsp+ "<br/>"+ info);
Run Code Online (Sandbox Code Playgroud)

将在气泡中显示的信息如下所示(\n表示下一行)

NY \ntotal 60 \n2009:10 \n2010:20 \n2011:30

小智 14

您要做的是将"标准"Googlemaps infoWindow替换为您自己的,并将您的内容放入其中.替换标准GM infoWindow后,您可以使用很多自由度.我做的是这样的:

添加一个名为#infoWindow的新样式ID,并设置其宽度.

#infoWindow {
    width: 150px;
}
Run Code Online (Sandbox Code Playgroud)

在我的Javascript中的任何函数之外,我创建了一个新的infoWindow:

var infoWindow = new google.maps.InfoWindow();
Run Code Online (Sandbox Code Playgroud)

在函数中创建一个新的var,用于设置标记显示的信息,并将其值设置为内容:

var html = '<div id="infoWindow">';
html += 'NY<br />total 60<br />2009: 10<br />2010: 20<br />2011: 30';
html +='</div>';
Run Code Online (Sandbox Code Playgroud)

使用您在其他地方创建的位置信息调用createMarker函数,并将html var作为参数之一包含:

var marker = createMarker(point,name,html);
Run Code Online (Sandbox Code Playgroud)

您将在其他地方声明的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);
        });
}
Run Code Online (Sandbox Code Playgroud)


Hal*_*top 9

如果他们偶然发现这个话题,那么每个人都很清楚.

您需要做的就是在信息窗口内容中设置容器的高度和宽度.

您不需要覆盖Google类,也不需要过于复杂.

var contentString = '<div class="map-info-window">'+
  '<h1>My Info Window</h1>'+
  '<p>Hello World</p>'+
  '</div>';

var infowindow = new google.maps.InfoWindow({
      content: contentString,   });
Run Code Online (Sandbox Code Playgroud)

在我的CSS中我有这个:

.map-info-window {
    width:200px;
    height:200px;
}
Run Code Online (Sandbox Code Playgroud)

而已.您只需设置Google Maps InfoWindow的宽度即可.


kac*_*per 8

对我来说这个CSS工作正常:

.gm-style-iw {
  width: 324px !important;
  height: 120px !important;
}
Run Code Online (Sandbox Code Playgroud)