1

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

4

2 回答 2

2

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

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

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

于 2012-06-28T21:55:14.207 回答
1

您可能会喜欢使用jQuery ui 地图插件。为了解决您的问题,基本示例页面列出了通过单击创建信息窗口的用法:

$('#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,也可能更容易回答问题。

于 2012-06-28T22:36:30.460 回答