将点击事件附加到Google地图

时间:2010-12-07 16:50:03

标签: javascript events google-maps google-maps-api-3

我似乎无法弄清楚如何将点击事件附加到Google地图上,是否只能在标记上执行此操作?这似乎没有做任何事情:

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

我也尝试过使用jQuery,但是它捕获了两个事件,我猜测与覆盖有关: 编辑:一些白痴发起地图两次,并将事件附加在同一个函数中,因此有两个事件。 jQuery也可以工作,实际上可以处理更多事件。

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

我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

也许您的地图名称不正确?向我们展示您的整个代码。

以下是将点击事件处理程序附加到地图

的示例

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

答案 1 :(得分:1)

您的代码适合我。尝试(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>