默认情况下打开信息窗口 [英] Open infowindows by default

查看:58
本文介绍了默认情况下打开信息窗口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对Google Maps信息窗口有疑问.我有2个标记,默认情况下要打开两个信息窗口.但是我不知道该怎么做.

I have a problem with Google Maps info windows. I have 2 markers and I want to open both info windows by default. But I can't figure out how to do it.

这是我的代码:

<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); ,但仍然无法正常工作.

I tried adding infowindow.open(map,marker); in various place but stil don't work.

推荐答案

触发标记的点击事件.

将其放在for循环的末尾:

Put this at the end of the for-loop:

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

工作小提琴

这篇关于默认情况下打开信息窗口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆