Google maps-api v3 InfoWindow会在页面加载时自动打开

时间:2012-04-26 23:51:28

标签: google-maps-api-3

我正在开发一个使用Google Maps api-v3的项目, 在地图上会有一些地方标记包含我存储在InfoWindow中的信息。

我想知道无论如何你可以设置InfoWindow在页面加载时自动打开(即在没有用户交互的情况下自动打开)。

在线搜索所有我似乎都发现它需要绑定到事件监听器,但InfoWindow对象似乎拥有的所有事件都是鼠标事件。

有没有人知道各种解决方法?

5 个答案:

答案 0 :(得分:30)

我不确定我是否完全理解您的问题,但这适用于使用硬编码的LatLng:

var infoWindow = null;
function initialize() 
{
    infoWindow = new google.maps.InfoWindow();
    var windowLatLng = new google.maps.LatLng(43.25,-68.03);
    infoWindow.setOptions({
        content: "<div>This is the html content.</div>",
        position: windowLatLng,
    });
    infoWindow.open(map); 
} // end initialize

google.setOnLoadCallback(initialize);

答案 1 :(得分:11)

我对这个问题已经很晚了,但我想分享一些东西。我也在寻找它的解决方案,甚至没有从上述解决方案中得到解决。然后我尝试了自己并得到了自己的解决方案(我不是专家,我的想法可能不太好,但对我来说工作正常)。 我们一般都喜欢

var infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker, 'click', (function(marker) {
return function() {
    infowindow.setContent('some content here');
      infowindow.open(map, marker);
    }
})(marker));

将上述行替换为:

var infowindow = new google.maps.InfoWindow();
infowindow.setContent('some content here');
infowindow.open(map, marker);

不要等待标记的点击事件只需设置内容并将其打开(您必须定义地图和标记以及指向标记的信息点)。

答案 2 :(得分:3)

只需带上infowindow.open(地图,标记);超出了google.maps.event.addListener。它应该是这样的:

      var marker = new google.maps.Marker({
      position: myLatlng1,
      map: map,
      title: 'Uluru (Ayers Rock)'

  });

  infowindow.open(map,marker);

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

答案 3 :(得分:2)

这是我的代码,用地图加载信息窗口,鼠标悬停。

map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
    map: map,
    icon: "/images/map-marker.png",
    draggable: true,
    position: results[0].geometry.location

});
var infowindow = new google.maps.InfoWindow({
    content: "Use pin to point your exact locality"
});
google.maps.event.addListener(marker, 'mouseover', function () {
    infowindow.open(map, marker);
});
infowindow.open(map, marker);

答案 4 :(得分:0)

&#13;
&#13;
function initMap() {
    var cairo = {lat:18.519331, lng: 73.849421};
    var map = new google.maps.Map(document.getElementById('map'), {
        scaleControl: true,
        center: cairo,
        zoom: 15,
    });

    var infowindow = new google.maps.InfoWindow;
    infowindow.setContent('<b>adddress</b>');

    var marker = new google.maps.Marker({map: map, position: cairo});
    infowindow.open(map, marker);
    infoWindow.open(map); 
}
&#13;
<script async defer 
    src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCrCByzXY6y5KMSOi9AuqWVf4VYZPyJ5SE&language=hi&region=EG&callback=initMap">
</script>
<div id="map"></div>
&#13;
&#13;
&#13;