我从我的 webAPI 中获取了一组用户的 json 对象。我可以在每个用户的位置正确显示标记,但是当我单击每个用户以获取单击的项目时,我无法开始工作,我总是从列表中的最后一个获取信息。
这是我用来将它们放在地图上的代码:
var markers = [];
for ( var i = 0; i < size; i++) {
var zIndex = membersList[i].type;
var latLng = new google.maps.LatLng(membersList[i].latitude,
membersList[i].longitude);
var marker = new google.maps.Marker({
'position' : latLng,
'shadow' : null,
'zIndex' : zIndex,
'title' : membersList[i].username,
'id' : i,
'icon' : markerImage[membersList[i].type]
});
google.maps.event.addListener(marker, 'click', function()
{
console.log(marker.id);
var clicked = membersList[marker.id];
var mType = ['', 'Couple', 'Male', 'Female'];
var textType = mType[clicked.type];
var userName = clicked.username;
$(this).simpledialog2({
mode: 'button',
headerText: "OPTIONS",
headerClose: true,
buttonPrompt: userName+ ' ('+textType+')',
buttons : {
'PROFILE': {
click: function () {
toUser = userName;
loadPage('profile');
},
icon: "info"
},
'MESSAGE': {
click: function () {
toUser = userName;
loadPage('compose');
},
icon: "star",
}
}
});
});
markers.push(marker);
}
markerCluster.addMarkers(markers);
顺便说一句,我正在使用 markerClusterer 以某些缩放级别显示在地图上分组的标记。