1

如何在 GMap V3 中获取事件名称。

试过,

function initialize(){

    -------------------
    google.maps.event.addListener(map, 'click',function(){handleViewUpdate();});

    google.maps.event.addListener(map, "dragend", function () {handleViewUpdate();});
    -------------------

}

function handleViewUpdate(){
    alert(map.getEvent()+' Event');
}

但失败了。:(

请提供任何帮助:)

4

2 回答 2

1

为什么不使用一些标志变量将其作为参数发送给函数,例如:handleViewUpdate(1) 用于第一件事 handleViewUpdate(2) 用于其他。然后您可以获得事件名称。

于 2012-05-21T09:44:12.103 回答
0

没有名为 map 的方法getEvent,但一些事件侦听器回调确实传递了参数(但不是全部)。例如,您可以将click事件侦听器定义更改为:

google.maps.event.addListener(map, 'click', function( event ) {
    //do something with the event parameter here
    handleViewUpdate();
});

相反,该dragend事件不会任何内容传递给事件侦听器。如果您向下滚动到“事件”表,则google.maps.Mapapi-doc包含完整的详细信息。

尽管如此,google.maps.MouseEventapi-doc不包含可用于解决您的特定问题的“名称”或“类型”属性。我检查了 Chrome 控制台中的传入事件,没有任何东西可以用来执行switch操作。当您定义事件侦听器时,回调函数是您唯一可以用来为您提供已触发事件的上下文的东西。所以@NejiHyuga's answer中的建议几乎是你最好的选择。

于 2012-05-21T13:10:32.043 回答