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

问题描述:

我想了解如何使用React来响应Google Maps JS API事件,而无需为我自己的知识而使用react-google-maps库。这是否会以传统的Javascript方式添加事件监听器?如何在没有外部库的情况下收听Google Maps API事件?

特别是,我试图对谷歌地图标记的点击事件在同一个定义的响应函数阵营,谷歌地图在创建的组件。

感谢您的帮助!

在这个答案中,我将向您解释如何使用js将事件侦听器添加到地图,然后介绍如何使用自定义事件侦听器创建事件。


首先,使用js在地图中添加一个事件监听器。解决方案非常简单。您可以使用此行代码:

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

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

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


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

此行初始化事件 '构建':

var event = new Event('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