Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wolne działanie getcurrentposition()
bialko0019
post
Post #1





Grupa: Zarejestrowani
Postów: 294
Pomógł: 4
Dołączył: 19.12.2008

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


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... ;/

Ten post edytował bialko0019 15.01.2016, 17:49:54
Go to the top of the page
+Quote Post
d4ng
post
Post #2





Grupa: Zarejestrowani
Postów: 191
Pomógł: 4
Dołączył: 7.03.2010

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


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.  
Go to the top of the page
+Quote Post
Comandeer
post
Post #3





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Hm, a z jakiej przegladarki korzystacie? Bo AFAIR geolokalizacja opiera się głównie na odpytywaniu serwerów Google.
Go to the top of the page
+Quote Post
bialko0019
post
Post #4





Grupa: Zarejestrowani
Postów: 294
Pomógł: 4
Dołączył: 19.12.2008

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


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 ! (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 16.09.2025 - 08:49