I was struggling with the issue of listening for clicks on a Google Map canvas today, and I might have discovered an ugly hack / workaround using jQuery:
setTimeout( function() { var gmDomHackSelect = $('.gm-style').children().eq(0); gmDomHackSelect.click(handleMapCanvasClick); }, 3000);
This piece of code was from my map initialization function, so I needed a timer to select an item a bit.
The advantage of this listener is that it listens for a click directly on the canvas, i.e. clicks on map controls (e.g. scaling) do not start it.
source share