Fügen Sie die Ereignisprozedur dem Element in der Google Maps-Infoblase hinzu

Ich habe eine Frage zu Google Maps und Event Handling / Listening.

Mit jQuery und Google Maps V3 kann ich eine Kartenmarkierung und einen Ereignis-Listener platzieren, der ein Infobubble öffnet, wenn der Benutzer auf die Markierung klickt. Was ich gerne tun würde (aber bisher nicht herausfinden konnte), ist, dem Inhalt der Infoblase einen weiteren Ereignishandler hinzuzufügen. Wenn der Benutzer beispielsweise auf die Kartenmarkierung klickt, wird die Infoblase geöffnet (dieser Teil funktioniert), und wenn er auf etwas in der Infoblase klickt, wird etwas anderes ausgeführt. Ich habe meinen Code unten eingefügt, vielen Dank im Voraus für jede Hilfe

<code>function addMarker(data) {
    var myLatlng = new google.maps.LatLng(data.Latitude, data.Longitude);
    var title = data.title? data.title: "";
    var icon = $('#siteUrl').val() + 'img/locate.png';

var bubbleContentString = "<span class=\"bubble-details-button\">Get Details about " + title+ "</span>";

myInfoBubble = new InfoBubble({
    content: bubbleContentString,
    hideCloseButton: true,        
    backgroundColor: '#004475',
    borderColor: '#004475'
});

var myMarker =  new google.maps.Marker({
        position: myLatlng,
        map: map,
        title: title,
        icon: icon
    });    
addListenerToMarker(myMarker, myInfoBubble);
markerSet.push(myMarker, myInfoBubble);    
}
function addListenerToMarker(marker, bubble){
    console.log($(bubble.getContent()).find('.bubble-details-button')[0]);
    google.maps.event.addListener(marker, 'click', function() { 
        if (!bubble.isOpen()) {  
            google.maps.event.addListenerOnce(bubble, 'domready', function(){ 
                console.log($(bubble.getContent()).find('.bubble-details-button')[0]);
                google.maps.event.addDomListener($(bubble.getContent()).find('.bubble-details-button')[0], 'click', function(){ 
                    alert("hi"); 
                }); 
            });
            bubble.open(map, marker); 
        }     
    });
}  
</code>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage