如何在没有外部库的情况下收听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。