我是否必须使用google.maps.event.addListener(marker,'click',function(){})?

时间:2012-06-28 21:51:07

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

我正在学习Google Maps API,我想知道是否可以使用jQuery点击事件代替google.maps.event.addListener(marker,'click',function(){});打开infoWindow或我的选择是什么?只是找出可能的东西。

2 个答案:

答案 0 :(得分:2)

你应该能够使用jQuery的.bind()方法来获得你想要的东西。

您必须使用google.maps.Marker制作一个jquery对象,然后在其上调用.bind('click',function(){})

http://api.jquery.com/bind/

答案 1 :(得分:1)

您可能喜欢使用jQuery ui map plugin。为解决您的问题,the basic example page列出了通过点击创建InfoWindow的用法:

$('#map_canvas').gmap().bind('init', function(ev, map) {
    $('#map_canvas').gmap('addMarker', {'position': '57.7973333,12.0502107',
                          'bounds': true}).click(function() {
        $('#map_canvas').gmap('openInfoWindow', {'content': 'Hello World!'}, 
                                   this);
    });
});

就个人而言,我坚持使用纯JavaScript,并按照Google文档中的示例进行操作。我依稀记得使用这个(或类似的)插件遇到一些其他问题,这些插件遇到了“清除”标记功能无法直接解决的不需要的行为,所以请注意,如果你使用“便利”工具介于你的想法和谷歌的纯JavaScript之间地图。如果代码是纯JavaScript,那么解答问题也可能更容易。