Mam mapę Google (v3) z 20 znacznikami. Mam jedną instancję InfoBox, która jest zapełniana przez element div, który zawiera tekst do wypełnienia w polu jako innerHTML.Google Maps v3 InfoBox Dodaj odbiorcę zdarzeń
Chcę móc kliknąć infobox i przejść do innej strony, ale nie mogę uzyskać infobox lub div wewnątrz, aby odpowiedzieć na zdarzenie click.
Próbowałem dodać detektor zdarzeń i próbowałem dodać domListener, ale nie mogę dostać się do pracy.
Oto kilka fragmentów z mojego kodu
//setting up the infobox
var infobox = new InfoBox({
disableAutoPan: true
,isHidden:false
,pixelOffset: new google.maps.Size(-10, -10)
,closeBoxURL: ""
,pane: "mapPane"
,enableEventPropagation: true
});
//setting up the div
var boxText1 = document.createElement("div");
boxText1.id = "boxText1";
boxText1.className = "labelText";
boxText1.innerHTML = title1;//this is created earlier
//the marker event listener - the marker and coordinates are also set up earlier
google.maps.event.addListener(_marker1, 'click', function() {
infobox.content_ = boxText1;
infobox.position_ = mkLatLng1;
infobox.open(map);
});
//so far everything ok. When the user clicks the marker the infobox pops up - but.....
google.maps.event.addDomListener(boxText1,'click',function(){ alert('clicked!') });//doesn't work
Próbowałem wiele innych opcji, ale są wszystkie zdjęcia w ciemności. Jaki jest najlepszy sposób na odsłuchanie zdarzenia kliknięcia na infoboxie?
Dzięki
Czy mały krzyż zamyka infobox? – ianbarker
Twój tekst infobox może zawierać html w prawo? Więc możesz zrobić div w tym i słuchać kliknięć tego div. –
Nie ma małego krzyża. Czy myślisz o oknie informacyjnym? –