Google Maps API V3-在创建标记后添加侦听器

Google Maps API V3- Adding listener on markers after they are created

本文关键字:添加 侦听器 创建 Maps API V3- Google      更新时间:2023-09-26

我遇到了一个问题。我正在制作一个地图,你可以使用"工具"添加标记,折线和多边形。比如MS Paint和工具。你点击工具,然后在地图上做任何你想做的。

问题是,我正在添加没有任何监听器的标记,所以我不能点击它们-因为我想要那个工具只是把标记放在选定的地方。

我的问题是创建一个工具,它可以让我删除这些标记。但是要做到这一点,我的工具需要向标记添加单击事件侦听器。它们是不久前创建的。这可能吗?因为当我试图让addeventlistener (marker, 'click, xxx())时,我得到了标记未定义的错误。

我不会在这里发布完整的代码,因为它太多了,但如果你需要任何部分,只要问,我会尽快发布。

EDIT1:

正如Majid Fouladpour所说,全局变量只适用于最后添加的标记:o?

您需要将marker设置为全局变量。你现在是在一个函数中定义它:

function somefunction(params) {
    ...
    var marker = ....
    ...
}

应该是:

var marker;
...
function somefunction(params) {
    ...
    marker = ....
    ...
}

你的评论表明你现在得到了正确的参考部分。如果您的函数没有被触发,那么您应该在代码的添加侦听器部分遇到问题。你要这样做吗?

google.maps.event.addListener(marker, 'click', function() {
    alert('x');
});