![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
czasami mam taki problem, że skrypty JS nie zawsze się ładują. Np mam mapę google która pokazuje trasę z punktu A do pkt B. Czasami jest tak, że po załadowaniu strony wszystko pokaże się bez żadnego zarzutu, czasami mapka się pokaże a trasa nie, innym znowu razem cała mapka się nie załaduje. Próbowałem wczytywać pliki z parametrem async ale wtedy zupełnie nic nie działało. Jak wy rozwiązujecie takie problemy?
Ten post edytował qbas-s 29.05.2014, 22:17:49 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Możesz najwyżej sprawdzać czy obiekt na którym chcesz działać istnieje. Samo google maps czasami przecież też się gubi, a co dopiero API. Oczywiście to się zdarza bardzo bardzo rzadko. Jeśli u Ciebie często, to coś pewnie popsułeś (IMG:style_emoticons/default/tongue.gif)
Ten post edytował Damonsson 29.05.2014, 16:06:49 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
gdybym coś popsuł to za każdym razem by nie działało (IMG:style_emoticons/default/wink.gif)
Jak sprawdzić to o czym pisałeś? Czyli czy obiekt istnieje? Jeśli nie to jak go załadować? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
W jaki sposób wczytujesz pliki JS?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
standardowo - poprzez <script
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
Jakieś błędy w konsoli JS?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
tak, kiedy skrypt google map nie ładuje się poprawnie wtedy otrzymuje:
Uncaught TypeError: Cannot read property 'setDirections' of undefined Funkcja w której używam setDirections (ta funkcja ma za zadanie obliczać wyznaczać trasę z punktu a do punktu b, użytkownik może też podać punkty pomiędzy które znajdują się w additional_places):
Ten post edytował qbas-s 1.06.2014, 16:07:08 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Gdyby GM się nie ładował, to błąd miałbyś już w linii 12.
Gdzie inicjujesz zmienną "directionsDisplay"? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
mam do tego funkcję
która jest inicjowana zaraz po załadowaniu strony;
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A calcRoute, w którym momencie jest wywoływana?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
napisałem sobie funkcje która w razie potrzeby przekazuje do widoku kod js który jest wyświetlany przed </body>. Tak jest w tym przyadku, funkcja calcRoute() jest wyświetlana przed </body> i ma na celu pokazanie trasy którą wcześniej zapisał sobie użytkownik. Trasa jest wyznaczana na podstawie danych zawartych w inputach o id: autocomplete, autocomplete_to i additional_places
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy dobrze rozumiem, ale jeśli wywołujesz ją bezpośrednio w head nie czekając na jakiekolwiek zdarzenie, to jest ona wywoływana wcześniej niż "initialize".
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
właśnie initialize jest wywoływane w head a wywołaie funkcji calcRoute() tuż przed znacznikiem </body> czyli na końcu dokumentu. Niby powinno działać bez zarzutu. Dodatkowe teraz zauważyłem, że jeśli nie wywołuję w nagłówku jquery.2.0.3.min.js i jquery.1.2.1.migrate.min.js to skrypt google map działa poprawnie za każdym razem
Ten post edytował qbas-s 1.06.2014, 19:08:08 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie chodzi to o kolejność w kodzie.
initialize jest wywoływane w onLoad GM, czyli najzwyczajniej w 99,99% przypadkach później niż calcRoute. Musisz calcRoute wywołać po initialize (np. wewnątrz tejże funkcji). |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 1 Dołączył: 28.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
(IMG:style_emoticons/default/biggrin.gif) masz rację, teraz działa za każdym razem, sog dla Ciebie a jak będziesz w Wawie to zapraszam na bro (IMG:style_emoticons/default/wink.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.09.2025 - 19:49 |