gpt4 book ai didi

javascript - 关闭 Google Maps API v3 中的所有信息窗口

转载 作者:IT王子 更新时间:2023-10-29 02:52:22 26 4
gpt4 key购买 nike

我正忙于编写一个脚本,该脚本将在我的网站上制作一个带有多个标记的谷歌地图 Canvas 。我希望当您单击标记时,会打开一个信息窗口。我已经做到了,现在的代码是:

 var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
function addMarker(map, address, title) {
geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
position: results[0].geometry.location,
map: map,
title:title
});
google.maps.event.addListener(marker, 'click', function() {
var infowindow = new google.maps.InfoWindow();
infowindow.setContent('<strong>'+title + '</strong><br />' + address);
infowindow.open(map, marker);

});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
addMarker(map, 'Address', 'Title');
addMarker(map, 'Address', 'Title');

这 100% 有效。但现在我希望当一个信息窗口打开时,你想打开第二个,第一个自动关闭。但我还没有找到办法做到这一点。 infowindow.close();不会有帮助的。有人有这个问题的例子或解决方案吗?

最佳答案

infowindow 是局部变量,窗口​​在 close() 时不可用

var latlng = new google.maps.LatLng(-34.397, 150.644);
var infowindow = null;

...

google.maps.event.addListener(marker, 'click', function() {
if (infowindow) {
infowindow.close();
}
infowindow = new google.maps.InfoWindow();
...
});
...

关于javascript - 关闭 Google Maps API v3 中的所有信息窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4539905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com