Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wolne działanie getcurrentposition()
Forum PHP.pl > Forum > Po stronie przeglądarki
bialko0019
Witam.

Wiecie może, dlaczego może być tak, że po uruchomieniu funkcji do geolokalizacji (pobieranie wspolrzednych geo) czyli getCurrentPosition() działa strasznie wolno? Nigdy tak nie miałem, po uruchomieniu max kilka sekund było opóźnienia, a teraz kilka minut i też nie zawsze. Kod jest najprostszy bo nie mam pojęcia, dlaczego tak się dzieje. Po zgodzie na geolokalizację, raz od razu mam współrzędne, a raz po kilku minutach, a raz w ogóle nic nie zwraca. Sprawdzałem na google chrome aktualnej wersji i mozilli 42, na telefonie w chrome i mozilli również tak jest.

Kod:

  1. function getLocation() {
  2.  
  3. alert('init');
  4. $('.icon.icon-localize.icon-input').addClass('loading');
  5. if (navigator.geolocation) {
  6. navigator.geolocation.getCurrentPosition(function(position){
  7. var result = [position.coords.latitude, position.coords.longitude];
  8. alert(result[0] + 'oraz' + result[1]);
  9. });
  10. } else {
  11. alert("Geolocation is not supported by this browser. Please update your browser!");
  12. }
  13. }


alert "init" pokazuje się zawsze, od razu, ale alert z wynikiem tak jak wspominałem powyżej...

PS. Nawet na http://www.w3schools.com/html/tryit.asp?fi...ml5_geolocation jak kilka razy klikne do pobrania wspolrzednych to nie zawsze sie pokaze, teraz już w ogóle się nie pokazuje... ;/
d4ng
byłem na http://www.w3schools.com/html/tryit.asp?fi...ml5_geolocation i mam podobne wrażenia hmm jeżeli nie potrzebujesz wyniku geolkalizacji od razu po wejściu na stronę tylko po np jakims evencie typu click kiedy to użytkownik o nie poprosi to może lepiej by było uruchomić skrypt anieco wcześniej i jego wynik przekazać do zmiennej do której zawsze możesz sięgnąć? Może coś takiego (nie wiem czy dobrze to tylko koncepcja...)

  1. var geolokalizacja = function(){
  2.  
  3. if (navigator.geolocation) {
  4. navigator.geolocation.getCurrentPosition(showPosition);
  5. } else {
  6. return "Geolocation is not supported by this browser.";
  7. }
  8.  
  9. function showPosition(position) {
  10. return "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude;
  11. }
  12. }();
  13.  
  14.  
Comandeer
Hm, a z jakiej przegladarki korzystacie? Bo AFAIR geolokalizacja opiera się głównie na odpytywaniu serwerów Google.
bialko0019
Zapomniałem zupełnie o temacie, ale problem rozwiązałem przez.. zainstalowanie starszej wersji Firefox`a, a teraz po trzech miesiącach zaktualizowałem do jeszcze nowszej i po problemie. Po prostu był jakiś błąd po stronie przeglądarki i dlatego tak się działo - piszę, bo może ktoś korzysta z takiej wersji (43) to oszczędzę komuś chwili czasu - pozdrawiam ! wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.