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

时间:2011-09-19 19:52:33

标签: javascript google-maps

我遇到了问题。我正在制作一个地图,您可以使用“工具”添加标记,折线和多边形。像MS Paint和那里的工具。您单击工具,然后在地图上执行任何操作。

问题是,我在没有任何听众的情况下添加标记,所以我无法点击它们 - 因为我希望该工具只是将标记放在选定的位置。

我的问题是创建一个工具,让我删除这些标记。但要做到这一点,我的工具需要将click事件监听器添加到标记......并且它们是在不久前创建的。那可能吗?因为当我尝试制作addeventlistener(marker,'click,xxx())时,我得到了标记未定义的错误。

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

EDIT1:

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

1 个答案:

答案 0 :(得分:3)

您需要将marker设为全局变量。您现在正在函数中定义它:

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

相反,你应该:

var marker;
...

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

<强>更新

您的评论显示您现在正在获取参考部分。如果您的函数未被触发,那么您应该在代码的add listener部分中遇到问题。你是这样做的吗?

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