У меня есть экземпляр google.maps.InfoWindow, и у него есть настраиваемая кнопка закрытия. Который запускается событием onClick. Однако, если я нажму кнопку «Закрыть», информационное окно закроется, что ожидается, но на карте появится новый маркер на месте, где должно быть информационное окно. Похоже, что onClick = "infoWindow.close ()" является placeReclameMarker (event.latLng); одновременно.
var map;
var infoWindow;
function initialize() {
var latlng = new google.maps.LatLng(47.030698, 28.850098);
var myOptions = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(
document.getElementById("map_canvas"), myOptions);
google.maps.event.addListener(map, 'click', function (event) {
placeReclameMarker(event.latLng);
});
}
function placeReclameMarker(location) {
var marker = new google.maps.Marker({
position: location,
draggable: true,
map: map
});
google.maps.event.addListener(marker, 'rightclick', function () {
infoWindow = new google.maps.InfoWindow({
content: '<input type="button" onclick="infoWindow.close()">'
});
infoWindow.open(map, marker);
});
}