Я получаю из моего 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 для отображения маркеров, сгруппированных на карте, при некоторых уровнях масштабирования.