javascript - 如何在没有外部库的情况下监听 Google Maps API 事件?

标签 javascript reactjs google-maps google-maps-api-3 dom-events

据我所知,我试图了解如何使用 React 来响应 Google Maps JS API 事件,而无需使用 React-google-maps 库。这可以通过添加事件监听器的传统 Javascript 方式来完成吗?

特别是,我尝试使用在创建 Google map 的同一 React 组件中定义的函数来响应 Google map 标记上的点击事件。

最佳答案

在这个答案中,我将向您解释如何使用 js 将事件监听器添加到 map ,以及接下来如何使用自定义事件监听器创建事件。

<小时/>

首先,使用 js 在 map 中添加事件监听器。解决办法很简单。您可以使用这行代码:

//Listen to your map
map.addListener('idle', function (e) {
   alert("Load");
});

在这里,您向对象(在示例中为 map )添加一个简单的监听器。本地图完全加载(空闲)时,此代码会在您的窗口上添加警报。

您可以查阅google的事件文档here .

<小时/>

接下来,我们尝试创建一个自定义监听器和一个自定义事件。

此行初始化事件“build”:

var event = new Event('build');

这一行调用此事件的所有监听器“build”:

// Dispatch the event.
window.dispatchEvent(event);

现在,我们可以创建一个监听器:

//Listen to your custom event
window.addEventListener('build', function () {
    console.log('OK');
});

我的代码如下所示:

var event = new Event('build');
//Listen to your custom event
window.addEventListener('build', function () {
    console.log('OK');
});
// Dispatch the event.
window.dispatchEvent(event);

您可以获得完整的文档here .

关于javascript - 如何在没有外部库的情况下监听 Google Maps API 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45580416/

相关文章:

javascript - Swiper slider 无法按预期使用循环 : true and centeredSlides: false

javascript - Jquery AJAX ($.get or $.ajax) HTML 文件检索、操作和 JSON 发送

javascript - Php 运行 nodejs javascript grunt 任务

javascript - 异步函数不返回 json 对象

android - 在 Android 中使用谷歌地图

javascript - Gmaps NoAPIKey 错误

javascript - react : Component cannot recognize a function

javascript - "selection boxes"的正确术语是什么(例如在 Finder 中选择多个项目)? ( react )

javascript - 即使设置了项目,React useState 项目在调用时似乎为空

r - 谷歌地图中的饼图使用 plotGoogleMaps