![](/img/trans.png)
[英]How to implement Google Maps JS API in React without an external library?
[英]How to listen to Google Maps API events without an external library?
我试图了解如何在没有我自己的知识的情况下,使用React来响应Google Maps JS API事件,而无需使用react-google-maps库。 是否可以通过添加事件侦听器的传统Javascript方式完成此操作?
特别是,我尝试使用在创建Google Map的同一React组件中定义的函数来响应Google Maps Marker上的click事件。
在这个答案中,我将向您解释如何使用js向地图添加事件监听器,以及接下来如何使用自定义事件监听器创建事件。
首先,使用js在地图中添加事件监听器。 解决方案非常简单。 您可以使用以下代码行:
//Listen to your map
map.addListener('idle', function (e) {
alert("Load");
});
在这里,您向对象(在示例中,地图)添加了一个简单的侦听器。 当地图完全加载(空闲)时,此代码会在您的窗口上添加警报。
您可以在此处查阅Google的事件文档。
接下来,我们尝试创建一个自定义侦听器和一个自定义事件。
这行代码初始化了一个事件“ 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);
您可以在此处获得完整的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.