【问题标题】:Google Maps API - addListener ignoring click events on mapGoogle Maps API - addListener 忽略地图上的点击事件
【发布时间】:2023-02-04 14:30:06
【问题描述】:

我正在尝试让 Google Maps API 注册地图点击,但由于某种原因我无法正常工作!

    map = new google.maps.Map( document.getElementById("map"), {
        center: { lat: 53.3674604, lng: -1.2427984 },
        zoom: 10,
        zoomControl: true,
        mapTypeControl: false,
        fullscreenControl: false,
    });

    map.addListener( 'click', () => { console.log( "Hello"); })
    google.maps.event.addListener( map, 'click', () => { console.log( "Hello"); });

我尝试过以两种方式添加事件——我知道我应该只需要其中一种。

将完全相同的代码添加到标记中就可以了。与事件“center_changed”完全相同的代码工作正常。

出于某种原因,它只是忽略了地图上的点击事件?

【问题讨论】:

  • 你的map.addListener 对我来说似乎很好;它类似于我使用的。无论如何,您应该只声​​明一个侦听器,以免引起故障。在任何情况下,您是否有任何元素妨碍您的点击,也许是地图上的一些透明层?尝试使用检查器并点击地图;首先选择什么元素?
  • 不,没有透明层。如果我对地图上的标记执行完全相同的操作,它就会起作用。在地图上单击和拖动效果很好,因此应该会注册事件。

标签: javascript api events click maps


【解决方案1】:

我是愚蠢的。

地图上有形状,我使用形状区域来测试我的点击。偶然发现点击处理程序在空白区域工作正常。

将点击监听器添加到形状中,效果很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 1970-01-01
    • 2017-01-09
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    相关资源
    最近更新 更多