默认情况下打开信息窗口

Open infowindows by default

本文关键字:信息窗 窗口 信息 情况下 默认      更新时间:2023-09-26

我在谷歌地图信息窗口中遇到了问题。我有 2 个标记,我想默认打开两个信息窗口。但是我不知道该怎么做。

这是我的代码:

<html>
<head>
<style type="text/css">
  html { height: 100% }
  body { height: 100%; margin: 0; padding: 0 }
  #map_canvas { height: 100% }
</style>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=<key>&sensor=false"></script>
<script type="text/javascript">
var locations = [
    ['loan 1', 46.166621, 8.853315, '<div style="width:250px">text info 1'],
    ['loan 2', 46.173000, 8.856315, '<div style="width:250px">text info 2'],
];
function initialize() {
    var myOptions = {
        center: new google.maps.LatLng(46.166621, 8.853315),
        zoom: 15,
        mapTypeId: google.maps.MapTypeId.SATELLITE
    };
    var map = new google.maps.Map(document.getElementById("default"), myOptions);
    setMarkers(map,locations);
}
function setMarkers(map,locations){
    var marker, i
    for (i = 0; i < locations.length; i++) {
        var loan = locations[i][0]
        var lat = locations[i][1]
        var long = locations[i][2]
        var add =  locations[i][3]
        latlngset = new google.maps.LatLng(lat, long);
        var marker = new google.maps.Marker({
            map: map, title: loan , position: latlngset
        });
        map.setCenter(marker.getPosition())
        var content = add
        var infowindow = new google.maps.InfoWindow()
        google.maps.event.addListener(marker,'click', (function(marker,content,infowindow){
            return function() {
                infowindow.setContent(content);
                infowindow.open(map,marker);
            };
        })(marker,content,infowindow));
    }
}
</script>
</head>
<body onLoad="initialize()">
  <div id="default" style="width:100%; height:100%"></div>
</body>
</html>

我尝试在不同的地方添加infowindow.open(map,marker);,但不起作用。

触发标记的点击事件。

把它放在 for 循环的末尾:

google.maps.event.trigger(marker,'click',{});

工作小提琴