【问题标题】:How to get event name in GMap V3如何在 GMap V3 中获取事件名称
【发布时间】:2012-05-21 09:30:35
【问题描述】:

如何在 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');
}

但失败了。 :(

请帮忙:)

【问题讨论】:

    标签: google-maps-api-3


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      相比之下,dragend 事件向事件侦听器传递任何内容。如果您向下滚动到 Events 表格,google.maps.Mapapi-doc 会显示完整的详细信息。

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

      【讨论】:

        猜你喜欢
        • 2017-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-26
        • 1970-01-01
        • 2020-05-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多