Google Maps API v3提供了addDomListener,用于捕获DOM中的事件。我对'click'事件的实现似乎存在于DOM的'load'事件中。
我希望听到有关可能导致此问题的反馈。
<script>
function initialize() {
var map = new google.maps.Map(document.getElementById('map-canvas'), {
mapTypeId: google.maps.MapTypeId.TERRAIN
});
bounds = addMarkers(buildClosed(), map, 1);
map.fitBounds(bounds);
var button = document.getElementById('show_or_hide');
// google.maps.event.addDomListener( button, 'click', addMarkers(buildOpened(), map, 1) );
google.maps.event.addDomListener( button, 'click', showAlert(event) ); // returns 'load' event
}
function showAlert(_e) {
window.alert('Event: ' + _e.type);
}
( all other functions here )
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<input id="show_or_hide" type="button" value="Show all crossings" />
<div id="map-canvas"></div>
答案 0 :(得分:0)
addDomListener需要一个函数指针。如果你提供一个带参数的函数,它会执行该函数并使用返回值作为单击执行的函数。
变化:
google.maps.event.addDomListener( button, 'click', showAlert(event) );
为:
google.maps.event.addDomListener( button, 'click', showAlert);