У меня есть информационное окно с кнопкой «Стереть запись», которое при нажатии удаляет маркер и закрывает информационное окно.
когда я нажимаю кнопку «стереть запись», он удаляет маркер и просто закрывает информационное окно, но также регистрирует еще один щелчок по карте, и я понятия не имею, почему, и это сводит меня с ума.
кто-нибудь сталкивался с этой проблемой раньше?
Я просто новичок в javascript, поэтому любые предложения по реализации тоже были бы хорошими. поблагодарить.
ниже псевдокод / краткое изложение того, что я делаю:
//global variable to keep track of which was the last marker clicked
var lastMarkerJustClicked;
function load(){
//create the map and everything, add the following listener
google.maps.event.addListener(map, 'click', function (event) {
//firebug has been telling me that after i click "erase entry" and my marker is removed and my infowindow closes, i end up here
makeParticularMarker(event.latLng);
});
}
function makeParticularMarker(marker_parameter) {
var markerLocation = //do stuff to get the right marker parameter
var markerWithLocation = new google.maps.Marker({
position: markerLocation,
map: map
});
var html = "<input type='button' value='Erase Entry' onclick=eraseEntry() />"
var markerWithInfo = createMarkerWithHTML(markerWithLocation, html);
}
function createMarkerWithHTML(markerWithLocation, html) {
var markerWithInfo = google.maps.event.addListener(markerWithLocation, 'click', function () {
infoWindow.setContent(html);
infoWindow.open(map, markerWithLocation)
lastMarkerJustClicked=markerWithLocation;
});
}
function eraseEntry() {
infoWindow.close()
lastMarkerJustClicked.setMap(null);
}