Google Maps: Event Listener, запоминающий только окончательное значение переменной

Я собираю карту Google, которая содержит информацию о местонахождении различных центров тестирования по всей моей стране. Он отображает маркер для каждого округа, а когда вы щелкаете маркер округа, он увеличивает масштаб и дает обзор центров тестирования в этом округе. Я также использую jQuery с этим.

Вот проблема:

Когда я строю графы маркеров и нажимаю на них, они всегда увеличиваются до последнего округа. Код, который я использую для построения округов, выглядит следующим образом:

function plotCountyMarkers(county_count)
{
    // Setup a new icon
    var icon = new GIcon();
    var count = 0;

    // Get the type of icon to display
    var centre_type = checkCentreType();
    if (centre_type == 'dtc')
        icon.image = dtc_icon;
    else
        icon.image = ctc_icon;

    // Other settings including icon shadow
    icon.shadow = icon_shadow;
    icon.iconSize = new GSize(20, 29);
    icon.shadowSize = new GSize(38, 29);
    icon.iconAnchor = new GPoint(10, 29);
    icon.infoWindowAnchor = new GPoint(10, 1);

    // Get the total number of counties to map
    var count = county_count.length;

    for (key in county_count) {
        // Set the LatLong of the county
        var countyLocation = new GLatLng(county_locations[key][0],county_locations[key][1]);
        // Set the title text of the marker
        var centre_text = county_count[key]==1 ? 'Centre' : 'Centres';
        var title = county_locations[key][2]+': '+county_count[key]+' Test '+centre_text;
        // Add an event listener to the marker
        var marker = new GMarker(countyLocation,{icon: icon, title: title});

        GEvent.addListener(marker, "click", function() {
            // Zoom to county
            showCounty(key);
        });

        // Add the marker to the map
        map.addOverlay(marker);
    }
}

Я использую в основном точно такой же метод для передачи HTML в прослушиватель событий, когда вы нажимаете на маркеры уровня округа, и это прекрасно работает. По какой-то причинеkey всегда значение конечного округа. Я пытался пройти вkey как переменная функции, но она просто становится равной долготе и широте текущей карты.

Может я что-то идиотское делаю? Это было бы не в первый раз :) Любая помощь будет высоко ценится.

Ответы на вопрос(1)

Ваш ответ на вопрос