Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pętla - pewnie podstawowy problem
faketa
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 2.07.2012

Ostrzeżenie: (0%)
-----


Witam

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.

  1. geocoder.geocode( { 'address': activePostcode}, function(gresults, status) {
  2.  
  3. if (status == google.maps.GeocoderStatus.OK) {
  4.  
  5. var marker = new google.maps.Marker({ map: map, position: gresults[0].geometry.location, title: gresults[0].address_components[0].long_name });
  6. markers.push (marker);
  7. checkGeocodingComplete (results, markers);
  8.  
  9. }
  10.  
  11. });
  12.  
  13. function checkGeocodingComplete (results, markers) {
  14.  
  15. if (results == markers.length) {
  16.  
  17. for (g=0;g<results;g++)
  18. {
  19. var activeId = "jobpostcode" + (g + 1);
  20. var activePostcode = document.getElementById(activeId).value;
  21.  
  22. attachMarkerToLink (markers, activePostcode, g);
  23.  
  24. }
  25.  
  26. }
  27. }
  28.  
  29. function attachMarkerToLink (markers, activePostcode, stepper) {
  30.  
  31. for (j=0; j < markers.length; j++)
  32. {
  33. var marker = markers[j];
  34.  
  35. if (activePostcode == marker.title) {
  36.  
  37. //attach function
  38. break;
  39.  
  40. }
  41. }
  42. }
  43.  
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 03:01