ПРИМЕЧАНИЕ: Я использую версию 3 API Карт GoogleGoogle Maps API v3 добавления InfoWindow к каждому маркеру
Я пытаюсь добавить информационное окно для каждого маркера я ставлю на карте. В настоящее время я делаю это с помощью следующего кода:
for (var i in tracks[racer_id].data.points) {
values = tracks[racer_id].data.points[i];
point = new google.maps.LatLng(values.lat, values.lng);
if (values.qst) {
var marker = new google.maps.Marker({map: map, position: point, clickable: true});
tracks[racer_id].markers[i] = marker;
var info = new google.maps.InfoWindow({
content: '<b>Speed:</b> ' + values.inst + ' knots'
});
tracks[racer_id].info[i] = info;
google.maps.event.addListener(marker, 'click', function() {
info.open(map, marker);
});
}
track_coordinates.push(point);
bd.extend(point);
}
Проблема заключается в том, когда я нажимаю на маркер это просто отображает информационное окно добавляется последний маркер. Также, чтобы быть понятным, информационное окно появляется рядом с последним маркером, а не маркером. Я бы предположил, что моя проблема заключается в части addListener, но я не постингирую. Есть идеи?
Можете ли вы объяснить, где мне нужно подключить этот фрагмент кода? Это делается вместо цикла loop или before for-loop. Я немного запутался. – uday
Вам нужно вставить фрагмент кода _inside_ for for;;) – Tilt