Google默认情况下会打开信息窗口吗?

时间:2011-11-23 08:53:04

标签: google-maps google-maps-markers

以下示例在Google地图上显示该位置的简单标记(标准图标),单击该图标时,将打开信息窗口。我可以默认打开信息窗口,这样我就不需要点击图标打开了吗?

var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
    var myOptions = {
    zoom: 4,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    var contentString = '<div id="content">'+
        '<div id="siteNotice">'+
        '</div>'+
        '<h2 id="firstHeading" class="firstHeading">Uluru</h2>'+
        '</div>';

    var infowindow = new google.maps.InfoWindow({
        content: contentString
    });

    var marker = new google.maps.Marker({
        position: myLatlng,
        map: map,
        title:"Uluru (Ayers Rock)"
    });

    google.maps.event.addListener(marker, 'click', function() {
    infowindow.open(map,marker);
    });

3 个答案:

答案 0 :(得分:74)

如果您想在没有点击的情况下显示默认打开的信息窗口,只需添加一个新的代码,如下:

您的代码:

google.maps.event.addListener(marker, 'click', function() {
        infowindow.open(map,marker);
});

所以我们有一个像这样的新代码:

google.maps.event.addListener(marker, 'click', function() {
   infowindow.open(map,marker);
});

infowindow.open(map,marker);

如您所见,我们只需添加一些infowindow.open(map,marker);

的行代码

答案 1 :(得分:17)

您可以直接在页面加载中运行“打开”,如果没有单击则自动打开窗口。

infowindow.open(map, marker);

但是,在某些情况下,这可能无法正确地自动播放地图,使叠加层的顶部脱离地图的边缘。

对我有用的方法是将其包含在地图上“tilesloaded”事件的监听器中

google.maps.event.addListenerOnce(map, 'tilesloaded', function() {
  infowindow.open(map, marker);
});

答案 2 :(得分:1)

上面的代码完美无缺。然而,我的地图并没有转移,以便充分显示信息窗口。相反,图钉停留在中间。

那么如何让地图自行调整,以便信息窗口完全可见? 读这个: Google Maps : auto center map on marker click

如果您希望图钉保持原位而不移动地图,请阅读: Google Maps: How to prevent InfoWindow from shifting the map

希望能帮助人们迈出下一步