JS piszę jedynie okazjonalnie stąd proszę o wyrozumiałość. Problem mam następujący:
skrypt w pętli nanosi na mapę google markery poprzez Geocoder, odpowiedź z Geocodera następuje z opóźnieniem dlatego dałem metodę "checkGeocodingComplete" sprawdzającą czy już Geocoder zakończył codowanie dla wszystkich markerów, jeśli tak to wykonywana jest pętla, która dla każdego LI na stronie przypisuje akcję myszy do animacji markera. Problem jest w 3 pętli zawartej w metodzie "attachMarkerToLink", która przeskakuje przez wszystkie markery sprawdzając ich kod pocztowy i jeśli jest on zgodny z kodem przypisanym do LI to powinien wykonać break pętli. W moim przykłądzie jest 10 markerów, a każdy z nich ma swój kod pocztowy - kilka z nich się powtarza. Zastanawiam się czemu ostatnia pętla wykonuje się jedynie 6 razy a nie 10 - tyle ile jest markerów.
geocoder.geocode( { 'address': activePostcode}, function(gresults, status) { if (status == google.maps.GeocoderStatus.OK) { var marker = new google.maps.Marker({ map: map, position: gresults[0].geometry.location, title: gresults[0].address_components[0].long_name }); markers.push (marker); checkGeocodingComplete (results, markers); } }); function checkGeocodingComplete (results, markers) { if (results == markers.length) { for (g=0;g<results;g++) { var activeId = "jobpostcode" + (g + 1); var activePostcode = document.getElementById(activeId).value; attachMarkerToLink (markers, activePostcode, g); } } } function attachMarkerToLink (markers, activePostcode, stepper) { for (j=0; j < markers.length; j++) { var marker = markers[j]; if (activePostcode == marker.title) { //attach function break; } } }