2011-05-02 55 views
10

如何设置一个谷歌地图InfoWindow的大小和宽度?我看了on the api page,只发现了一个maxWidth方法。谷歌地图.InfoWindow设置高度和宽度

编辑:我已经尝试了几件事情。到目前为止,没有这些工作:

var markerInfoWindow = new google.maps.InfoWindow({ 
     content: markerHTMLString, 
     maxHeight: 400, //Doesn't work 
     maxWidth: 400, //Doesn't work 
     width: 300,  //Doesn't work 
     height: 300  //Doesn't work 
    }); 

也说markerHTMLString等于这样的:

<div class = "MarkerPopUp"><div class = "MarkerContext">Text</div></div> 

我已经试过这三个选项,以及(他们没有工作)

  1. .MarkerPopUp { 
        height: 300px; 
        width: 300px; 
    } 
    
  2. .MarkerPopUp { 
        height: 300px; 
        width: 300px; 
    } 
    
    .MarkerContext { 
        height: 300px; 
        width: 300px; 
    } 
    
  3. .MarkerContext { 
        height: 300px; 
        width: 300px; 
    } 
    

这也将无法正常工作:

document.getElementById('MarkerPopUp')parentNode.style.overflow = ''; 

或本

document.getElementById('MarkerPopUp').parentNode.parentNode.style.overflow = ''; 

我几乎通过每一个线程可以找我去,并试图一切。只是为了限制一些东西(尽管可能有另一个问题)

+0

您可以使用CSS,CSS内联JS或修改。总结在另一个线程一些解决方案:https://stackoverflow.com/a/48610923/4378314 – MarsAndBack 2018-02-04 17:29:53

回答

21

这可能是,当HTML传递到地图API并解析出来,它无法访问您的样式表工具。尝试在MarkerPopUp上添加宽度作为内联样式。

<div class = "MarkerPopUp" style="width: 300px;"><div class = "MarkerContext">Text</div></div> 

我知道,我讨厌内联样式,但它可以解决您在这种情况下的问题。

+0

为我工作也...不支持 – Mike 2014-08-22 00:57:17

0
.gm-style-iw{ 
    max-height: 10px; 
} 

gm-style-iw的设置风格做的工作!

-2

尝试下面的代码:

infowindow = new google.maps.InfoWindow({ 
     content: "", 
     maxWidth: 200 , 
     maxHeight: 400 
    }); 
+1

的“maxHeight”属性。 – nickh 2014-10-26 21:49:37

0

使用CSS中的重要

.MarkerPopUp { 
    height: 300px !important; 
    width: 300px !important; 
} 
0

您可以使用包装<div>并添加样式像这样<div style='height: 40px; text-align: center'>并在CSS文件中添加CSS代码.gm-style-iw { max-width: 400px!important;};