将点击事件附加到Google地图

问题描述:

我似乎无法弄清楚如何将点击事件附加到Google地图,是否只能在标记上这样做?这似乎并不做任何事情:将点击事件附加到Google地图

google.maps.event.addListener(map, 'click', function() { 
    console.log('clicked'); 
}); 

我使用jQuery也尝试过,但映入两个事件,我猜是与覆盖: 编辑:一些白痴启动地图两次,并将该事件附加在同一个函数中,因此有两个事件。 jQuery也可以工作,事实上可以处理更多事件。

$('#placeholder').click(function() {console.log('clicked');}); 

我错过了什么吗?

您的代码为我工作的一个例子。尝试(Ctrl + F5)重新加载没有缓存的页面。

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
<style type="text/css"> 
    html { height: 100% } 
    body { height: 100%; margin: 0px; padding: 0px } 
    #map_canvas { height: 100% } 
</style> 
<title>Google Maps Example</title> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> 
<script type="text/javascript"> 
    function initialize() { 
     var myLatlng = new google.maps.LatLng(-34.397, 150.644); 
     var myOptions = { 
      zoom: 3, 
      center: myLatlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

     google.maps.event.addListener(map, 'click', function() { 
      console.log('clicked'); 
     }); 
    } 
</script> 
</head> 
<body onload="initialize()"> 
    <div id="map_canvas"></div> 
</body> 
</html> 

也许你的地图名称有误?向我们展示您的完整代码。

这里有一个Click事件处理程序附加到地图

http://jsfiddle.net/galen/EXRSD/

+0

这是一个例子,即使在硬刷新后也不适用于我。 krefftc的建议虽然 – Shagglez 2010-12-08 09:07:32

+0

曾在我的警报代码中发生错误,但修复了它。 – Galen 2010-12-08 15:40:38