0

嗨,我正在使用 InfoWindow 在谷歌地图上获取自定义弹出窗口,但我无法设置它的宽度,我尝试将其设置为内联包装标签,但它不起作用。在这种情况下,我需要它是 750px。

这是 jsfiddle: http: //jsfiddle.net/xxast/ ,这是 html 文件:http ://www.mediafire.com/view/?66dbe6xzn1mul10

这是设置 InfoWindow 内容的方法:

 function getContent(parts, kmlEvent) {

                var content = ""+
       "<div id='width800' class='google-infobox-content' >" +
            "<div class='image'>" +
                "<img src='http://maps.google.com/maps/api/staticmap?center=" + kmlEvent.latLng.Ya + "," + kmlEvent.latLng.Za + "&amp;zoom=13&amp;size=150x150&amp;maptype=roadmap&amp;sensor=false&amp;language=&amp;markers=color:red|label:none|48.7758013,9.2529132' title='' width='150' height='150' >" +
                "<br />" +
                "<a href='https://maps.google.com/maps?sensore=true&daddr=" + kmlEvent.latLng.Za + "," + kmlEvent.latLng.Ya + "' target='_blank' >Full Google Map</a>" +
                "<a href='http://maps.google.com/help/maps/directions/Somewhere' target='_blank' >Directions</a>" +
            "</div>" +
            "<div class='location'>" +
                "<p>" + parts[0] + "</p>" +
                "<p>" + parts[1] + "</p>" +
                "<p>" + parts[2] + "</p>" +
                "<br/>" +
                "<p>" + parts[3] + "</p>" +
            "</div>" +
            "<div class='contact'>" +
                "<p>" + parts[4] + "</p>" +
                "<p>" + parts[5] + "</p>" +
                "<a href='mailto:" + parts[6] + "' >" + parts[6] + "</a>" +
                "<a href='" + parts[7] + "' target='_blank' >" + parts[7] + "</a>" +
            "</div>" +
            "<div class='others'>" +
                "<p><b>Product line</b></p>" +
                "<p>" + parts[8] + 
                "</p>" +
            "</div>" +                
        "</div>";

                return content;
            }​

此处更新 的是更新的 jsfiddle,其中设置了包装标记的 maxWidth 和内联宽度,但它仍然不起作用:http: //jsfiddle.net/xxast/3/

4

5 回答 5

10

google.maps.InfoWindowOptions对象width中没有。

在您的信息窗口内创建一个div,并设置其宽度。
信息窗口将调整大小以适应内部div

我在这里有一个工作示例:http: //jsfiddle.net/RASG/vA4eQ/

编辑

一些额外的信息:

在一个谷歌群组中发现了一个非常有趣的信息,由谷歌员工撰写

信息窗口大小取决于两个因素:

  • 内容的大小
  • 地图的大小(不是浏览器)

要摆脱这种情况,您必须实现自己的信息窗口。

这里有一些例子:

于 2012-11-08T15:29:01.143 回答
3

Google v3 Api 附带:

var iw = new google.maps.InfoWindow({ content: some_text, maxWidth: 200 });

更多细节在这里:控制谷歌地图信息窗口的宽度

于 2013-10-13T10:03:01.097 回答
1
  Use as below in your google map script

  //content = anything you like to show
  var content = '<div id="content" align="center">'+          
              '<h1 id="firstHeading" class="firstHeading" style="margin:0;color:#ff6600;">Your Title</h1>'+ 
              '<p style="color:#0d6585;font-weight:700;">Your Description'+
              '</p>'+
              '</div>';
  var infowindow = new google.maps.InfoWindow({
     content: content,
     maxWidth: 300 //your desired width
  }); 
于 2016-03-05T09:31:19.287 回答
0

在 infoWinfow 选项中,尝试将 maxWidth 设置为 750。此外,为了确保默认情况下不会覆盖样式,goole 值将 google-infobox-content 重命名为不同的名称。您可以尝试使用自定义信息窗口库:http: //google-maps-utility-library-v3.googlecode.com/svn/trunk/infobubble/examples/example.html

于 2012-11-08T15:12:13.907 回答
0

制作一个div并将其设置为使用setcontent它的信息窗口肯定有效

于 2012-11-09T05:35:57.130 回答