【发布时间】:2011-10-16 08:38:40
【问题描述】:
我有一个显示地图和名称列表的页面。标记显示在地图上并且列表填充正确,但是当单击标记或列表时,我似乎无法使用正确的 contentstring 值打开标记。
单击标记时,它总是显示最后一个内容字符串,当单击列表中的一个项目时,它总是打开系列中的最后一个标记。
我希望有足够的信息继续下去。我只是觉得 infowindow.setcontent 和 infowindow.open 选择了正确的项目编号。
HERE ARE SOME VARIABLES THAT ARE BEING USED IN THE CODE BELOW:
data[i][3] = firstname
data[i][4] = lastname
data[i][6] = latitude
data[i][7] = longitude
任何帮助将不胜感激!
谢谢 凯文
contentString = new Array();
for (var I = 0; I < data.length; I++) {
contentString[I] = '<b>' + data[I][3] + ' ' + data[I][4] + '</b>';
var thismarker = I;
var marker = new google.maps.Marker({
position: new google.maps.LatLng(data[I][6],data[I][7]),
map: map,
zIndex: I
});
$("<li />")
.html('<span class="leadid">' + I + '</span>' + '<div class="leadname">' + data[I][3] + ' ' + data[I][4] + '</div>')
.click(function(){
infowindow.close();
infowindow.setContent(contentString[thismarker]);
infowindow.open(map, markers[thismarker]);
})
.appendTo("#leadList");
google.maps.event.addListener(marker, "click", function(e){
infowindow.close();
infowindow.setContent(contentString[thismarker]);
infowindow.open(map, markers[thismarker]);
});
markers[I] = marker;
}
【问题讨论】: