我遇到了问题。我正在制作一个地图,您可以使用“工具”添加标记,折线和多边形。像MS Paint和那里的工具。您单击工具,然后在地图上执行任何操作。
问题是,我在没有任何听众的情况下添加标记,所以我无法点击它们 - 因为我希望该工具只是将标记放在选定的位置。
我的问题是创建一个工具,让我删除这些标记。但要做到这一点,我的工具需要将click事件监听器添加到标记......并且它们是在不久前创建的。那可能吗?因为当我尝试制作addeventlistener(marker,'click,xxx())时,我得到了标记未定义的错误。
我不会在这里发布完整的代码,因为它有很多,但如果你需要任何部分,请问,我会尽快发布。
EDIT1:
正如Majid Fouladpour所说,全局变量有效但仅适用于最后添加的标记:o?
答案 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');
});