Google Map API v3〜只需关闭一个infowindow? [英] Google Map API v3 ~ Simply Close an infowindow?

查看:103
本文介绍了Google Map API v3〜只需关闭一个infowindow?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

试图简单地关闭一个infowindow?



我已经有了一个标记数组,所以像这样的东西会很好。谢谢

  MyMarkers [i] .infowindow.close(); 


解决方案

使用 v3 API ,您可以轻松关闭 InfoWindow a href =http://code.google.com/apis/maps/documentation/javascript/reference.html#InfoWindow =noreferrer> InfoWindow.close() 方法。您只需保留对您正在使用的 InfoWindow 对象的引用。考虑下面的例子,它打开一个 InfoWindow 并在5秒后关闭它:

 <!DOCTYPE html> 
< html>
< head>
< meta http-equiv =content-typecontent =text / html; charset = UTF-8/>
< title> Google Maps API InfoWindow Demo< / title>
< script src =http://maps.google.com/maps/api/js?sensor=false
type =text / javascript>< / script>
< / head>
< body>
< div id =mapstyle =width:400px; height:500px;>< / div>

< script type =text / javascript>
var map = new google.maps.Map(document.getElementById('map'),{
zoom:4,
center:new google.maps.LatLng(-25.36388,131.04492) ,
mapTypeId:google.maps.MapTypeId.ROADMAP
});

var marker = new google.maps.Marker({
position:map.getCenter(),
map:map
});

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

infowindow.open(map,marker);

setTimeout(function(){infowindow.close();},5000);
< / script>
< / body>
< / html>

如果您有单独的 InfoWindow 对象每个 Marker ,您可能需要考虑添加 InfoWindow 对象作为标记的属性 objects:

  var marker = new google.maps.Marker({
position: map.getCenter(),
map:map
});

marker.infowindow = new google.maps.InfoWindow({
content:'InfoWindow'
});

然后你就可以打开和关闭 InfoWindow ,如下所示:

  marker.infowindow.open(map,marker); 
marker.infowindow.close();

如果您有一组标记,则同样适用:

  var markers = []; 

marker [0] = new google.maps.Marker({
position:map.getCenter(),
map:map
});

marker [0] .infowindow = new google.maps.InfoWindow({
content:'InfoWindow'
});

// ...

marker [0] .infowindow.open(map,marker);
marker [0] .infowindow.close();


Trying to simply close an infowindow?

I already have an array of markers, so something like this would be good. Thanks

MyMarkers[i].infowindow.close();

解决方案

With the v3 API, you can easily close the InfoWindow with the InfoWindow.close() method. You simply need to keep a reference to the InfoWindow object that you are using. Consider the following example, which opens up an InfoWindow and closes it after 5 seconds:

<!DOCTYPE html>
<html> 
<head> 
  <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
  <title>Google Maps API InfoWindow Demo</title> 
  <script src="http://maps.google.com/maps/api/js?sensor=false" 
          type="text/javascript"></script>
</head> 
<body>
  <div id="map" style="width: 400px; height: 500px;"></div>

  <script type="text/javascript">
    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 4,
      center: new google.maps.LatLng(-25.36388, 131.04492),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var marker = new google.maps.Marker({
      position: map.getCenter(),
      map: map
    });

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

    infowindow.open(map, marker);

    setTimeout(function () { infowindow.close(); }, 5000);
  </script>
</body>
</html>

If you have a separate InfoWindow object for each Marker, you may want to consider adding the InfoWindow object as a property of your Marker objects:

var marker = new google.maps.Marker({
  position: map.getCenter(),
   map: map
});

marker.infowindow = new google.maps.InfoWindow({
  content: 'An InfoWindow'
});

Then you would be able to open and close that InfoWindow as follows:

marker.infowindow.open(map, marker);
marker.infowindow.close();

The same applies if you have an array of markers:

var markers = [];

marker[0] = new google.maps.Marker({
  position: map.getCenter(),
   map: map
});

marker[0].infowindow = new google.maps.InfoWindow({
  content: 'An InfoWindow'
});

// ...

marker[0].infowindow.open(map, marker);
marker[0].infowindow.close();

这篇关于Google Map API v3〜只需关闭一个infowindow?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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