gpt4 book ai didi

javascript - 如何从阵列中选择特定标记?

转载 作者:行者123 更新时间:2023-11-28 07:27:52 26 4
gpt4 key购买 nike

我在这里发现了一些接近我的问题的东西:Storing Google Map Markers and Selecting a specific marker from it

但是,我已经认真研究了那里的代码,但我只是不太清楚如何将其实现到我的代码中。这是我所拥有的:

var t = {
name:"sdf",
lat:123,
lng:-123,
address:"asd",
link:"http://www.google.com"
};

a[0] = t;

var t = {
name:"sdf",
lat:123,
lng:-123,
address:"asd",
link:"http://www.google.com"
};

a[1] = t;

for (var i = 0; i < a.length; i++) {
var latlng = new google.maps.LatLng(a[i].lat,a[i].lng);
map.addMarker(createMarker(a[i].name,latlng,a[i].address,a[i].link));
};

此代码位于初始化函数内。

我将此代码放置在 dom 监听器之后的函数外部进行初始化:

    google.maps.event.addListener(marker[[a[0]], "click",function(){
alert("worked!")
});

事实是,我需要能够选择一个特定的标记来执行与其他标记不同的操作。

我什至尝试给一个附加变量提供与[0]相同的值,就像他们在链接中所做的那样。但是将该变量放在标记括号中也不起作用。

以下是创建标记的代码:

function createMarker(name,latlng,address,link) {
var marker = new google.maps.Marker({position: latlng, map: map});
google.maps.event.addListener(marker, "click", function() {
if (infowindow) infowindow.close();
infowindow = new google.maps.InfoWindow({content:"<div class='buildingInfo'>" + name + "<br>" + "<a href='" + link + "'>" + address +"</a>" + "</div>"});
infowindow.open(map, marker);
});
return marker;

};

最佳答案

尽管我更愿意直接选择标记,但我选择了以下代码:

function createMarker(name,latlng,address,link) {
var marker = new google.maps.Marker({position: latlng, map: map});
google.maps.event.addListener(marker, "click", function() {
if(name == "name"){
alert("worked!");
}
if (infowindow) infowindow.close();
infowindow = new google.maps.InfoWindow({content:"<div class='buildingInfo'>" + name + "<br>" + "<a href='" + link + "'>" + address +"</a>" + "</div>"});
infowindow.open(map, marker);
});
return marker;

};

我认为由于标记已经有一个监听器,因此向其添加另一个监听器可能不会起作用。

关于javascript - 如何从阵列中选择特定标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29436788/

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