Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Synchroniczne wywołanie funkcji w pętli
Micchaleq
post
Post #1





Grupa: Zarejestrowani
Postów: 186
Pomógł: 4
Dołączył: 13.10.2009

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


Witam serdecznie,

Mam pewien problem, na stronie umieszczam automatyczną mapę poprzez google API do adresu dla każdej z lokalizacji.

Problem zaczyna się jednak gdy mam dwa adresy i zanim zakończy się ładowanie pierwszego ładuje się już kolejny i ucieka jakby jedna operacja.

Mój kod w skrócie wygląda tak :
  1. for (index = 0; index < 2; ++index) {
  2. var id = $(a[index]).find('div.map');
  3. mapaStart(id.attr('id'), id.attr('address'));
  4. }


następnie funkcja mapaStart zawiera odwołanie do kolejnej funckji

  1. function mapaStart(id, address)
  2. {
  3. var wspolrzedne = new google.maps.LatLng(53.429805, 14.537883);
  4. var opcjeMapy = {
  5. zoom: 13,
  6. center: wspolrzedne,
  7. disableDefaultUI: true
  8. };
  9. mapa = new google.maps.Map(document.getElementById(id), opcjeMapy);
  10. console.log('adres kodowania ' + address);
  11. geokoder.geocode({address: address}, obslugaGeokodowania);
  12. }
  13. function obslugaGeokodowania(wyniki, status)
  14. {
  15. if(status == google.maps.GeocoderStatus.OK)
  16. {
  17. console.log('status = ok');
  18. mapa.setCenter(wyniki[0].geometry.location);
  19. var marker = new google.maps.Marker(
  20. {
  21. map: mapa,
  22. position: wyniki[0].geometry.location,
  23. }
  24. );
  25. }
  26. }


i w tym przypadku funckja obslugaGeokodowania wykonuje się tylko raz.
Czy mozna w js jakoś zatrzymać działanie funkcji do momentu aż uzyska się zakończenie obsługi Geokodowania?

Jak wspomniałem więc głównie problem stwarza mi ta funkcja :
geokoder.geocode({address: address}, obslugaGeokodowania);

Ten post edytował Micchaleq 21.12.2013, 11:40:09


--------------------
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: 22.08.2025 - 02:25