【发布时间】:2015-04-03 17:18:22
【问题描述】:
我在这里找到了与我的问题很接近的东西: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!")
});
问题是,我需要能够选择一个特定的标记来做一些与其他标记不同的事情。
我什至尝试为附加变量提供与 a[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;
};
【问题讨论】:
-
@geocodezip 天哪,认真的吗?你会停止让我的帖子变得如此技术性和贬低吗?我不在乎它们包含什么!我正在尝试选择一个特定的。它们使用 a[0] = t 放置在一个数组中。请停止关注我的代码中的内容,而是关注我的代码。
标签: javascript google-maps-api-3 google-maps-markers