Update for v3: overlayLayer
doesn’t accept mouse events anymore. Add your overlay to overlayMouseTarget
instead, add the listener, and it should receive mouse events normally.
//add element to clickable layer
this.getPanes().overlayMouseTarget.appendChild(div);
// set this as locally scoped var so event does not get confused
var me = this;
// Add a listener - we'll accept clicks anywhere on this div, but you may want
// to validate the click i.e. verify it occurred in some portion of your overlay.
google.maps.event.addDomListener(div, 'click', function() {
google.maps.event.trigger(me, 'click');
});
See: http://code.google.com/apis/maps/documentation/javascript/reference.html#MapPanes