以下示例在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);
});
答案 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
希望能帮助人们迈出下一步