gpt4 book ai didi

javascript - 监听器和谷歌地图标记的关闭问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:56:00 25 4
gpt4 key购买 nike

我想为每个生成的标记添加一个监听器事件,这样当您单击一个标记时,您将被重定向到永久链接 url。使用下面的代码,每个标记的永久链接值都是相同的(它是最后一个值)。我读过有关关闭问题的文章,这似乎就是我遇到的问题。不过,我并没有真正理解我看过的示例。

有人可以看看我的代码并指出正确的方向吗?非常感谢任何帮助!

downloadUrl("http://localhost/map/generatexml.php", function(data) {
var xml = parseXml(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var permalink = markers[i].getAttribute("permalink");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var marker = new google.maps.Marker({map: map,position: point,icon: icon.icon,shadow: icon.shadow,title: name});
google.maps.event.addListener(marker, 'click', function() {self.location.href = permalink;});
}

最佳答案

试试这个:

for (var i = 0; i < markers.length; ++i) {
// ... like what you have already ...
(function(permalink) {
google.maps.event.addListener(marker, 'click', function() {self.location.href = permalink;});
})(permalink);
}

通过在每次迭代时创建一个带有“永久链接”值副本的新词法范围,您的处理程序应该可以更好地工作。

关于javascript - 监听器和谷歌地图标记的关闭问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2329015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com