我正在尝试修改以下代码,以便在单击一个窗口时关闭所有其他infoWindows,因此一次只能打开一个窗口。除了用户最多可以打开20个infoWindows的事实外,当前所有功能都很好。谢谢你的帮助。
function infoWindow(marker, map, title, address, url) {
google.maps.event.addListener(marker, 'click', function () {
var html = "<div><h3>" + title + "</h3><p><a href='" + url + "'>Read More</a></p></div>";
iw = new google.maps.InfoWindow({
content: html,
maxWidth: 350
});
iw.open(map, marker);
});
}
如果只需要一个InfoWindow,则只需创建一个,然后在click事件的标记之间移动它即可。
更新的代码:
// global infowindow
var iw = new google.maps.InfoWindow({
maxWidth: 350
});
function infoWindow(marker, map, title, address, url) {
google.maps.event.addListener(marker, 'click', function() {
var html = "<div><h3>" + title + "</h3><p><a href='" + url + "'>Read More</a></p></div>";
// set the content (saved in html variable using function closure)
iw.setContent(html);
// open the infowindow on the marker.
iw.open(map, marker);
});
}
代码段:
var geocoder;
var map;
function initialize() {
var map = new google.maps.Map(
document.getElementById("map_canvas"), {
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker1 = new google.maps.Marker({
position: new google.maps.LatLng(37.4419, -122.1419),
map: map
});
infoWindow(marker1, map, "title1", "address1", "http://www.google.com")
var marker2 = new google.maps.Marker({
position: new google.maps.LatLng(37.44, -122.14),
map: map
});
infoWindow(marker2, map, "title2", "address2", "http://www.yahoo.com")
}
google.maps.event.addDomListener(window, "load", initialize);
// global infowindow
var iw = new google.maps.InfoWindow({
maxWidth: 350
});
function infoWindow(marker, map, title, address, url) {
google.maps.event.addListener(marker, 'click', function() {
var html = "<div><h3>" + title + "</h3><p><a href='" + url + "' target='_blank'>Read More</a></p></div>";
// set the content (saved in html variable using function closure)
iw.setContent(html);
// open the infowindow on the marker.
iw.open(map, marker);
});
}
html,
body,
#map_canvas {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas"></div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句