Treci la conținutul principal

API-ul HTML Geolocation

API-ul Geolocation este folosit pentru a obține locația curentă a utilizatorului.


Localizarea Poziției Utilizatorului

API-ul Geolocation obține locația curentă a utilizatorului. Deoarece acest lucru poate afecta confidențialitatea, locația nu este disponibilă decât dacă utilizatorul o aprobă.

Notă: API-ul Geolocation funcționează doar în contexte sigure, precum HTTPS. Sfat: Este cel mai precis pe dispozitive cu GPS, cum ar fi smartphone-urile sau smartwatch-urile.


Suport pentru browsere

Geolocation este suportat în toate browserele moderne (începând cu Chrome 5, Edge 12, Firefox 3.5, Safari 5 și Opera 10.6).


Folosirea API-ului HTML Geolocation

API-ul Geolocation este accesat prin navigator.geolocation, ceea ce face ca browserul să ceară permisiunea utilizatorului pentru a accesa locația acestuia. Dacă utilizatorul acceptă, browserul folosește cea mai bună funcție disponibilă pe dispozitiv (cum ar fi GPS-ul). Metoda getCurrentPosition() returnează locația curentă a utilizatorului.

Exemplul verifică dacă geolocalizarea este suportată și, dacă da, rulează getCurrentPosition(); altfel afișează un mesaj. Funcția de succes afișează latitudinea și longitudinea, iar funcția de eroare arată un mesaj dacă apare o eroare.

Exemplu

Afișarea latitudinii și longitudinii utilizatorului.

Prompt
O pagină cu un buton care, la apăsare, folosește metoda getCurrentPosition din Geolocation API pentru a afișa latitudinea și longitudinea utilizatorului într-un paragraf, cu un mesaj de rezervă dacă geolocalizarea nu este acceptată și o alertă în caz de eroare.
Rezultat: pagină HTML completă

Gestionarea Erorilor și a Refuzurilor

Al doilea parametru al metodei getCurrentPosition() gestionează erorile; acesta numește o funcție ce rulează dacă obținerea locației eșuează. Poți inspecta error.code pentru un mesaj specific, tratând cazuri precum PERMISSION_DENIED, POSITION_UNAVAILABLE, TIMEOUT și UNKNOWN_ERROR.

Exemplu

Geolocalizare cu mesaje de eroare detaliate.

Prompt
O pagină asemănătoare demonstrației de bază de geolocalizare, dar cu gestionare detaliată a erorilor: callback-ul de eroare inspectează error.code și afișează un mesaj specific pentru PERMISSION_DENIED, POSITION_UNAVAILABLE, TIMEOUT și UNKNOWN_ERROR.
Rezultat: pagină HTML completă

Informații Specifice Locației

Geolocation este utilă pentru informații specifice locației, precum informații locale actualizate, afișarea punctelor de interes din apropierea utilizatorului și navigație GPS pas cu pas.


Metoda getCurrentPosition() - Datele Returnate

La succes, getCurrentPosition() returnează un obiect. Returnează întotdeauna coords.latitude, coords.longitude și coords.accuracy. Celelalte sunt returnate doar dacă sunt disponibile: coords.altitude (metri deasupra nivelului mării), coords.altitudeAccuracy, coords.heading (grade în sensul acelor de ceasornic față de nord), coords.speed (metri pe secundă) și timestamp (data și ora răspunsului).


Obiectul Geolocation - Alte Metode Interesante

Obiectul Geolocation mai are și alte metode: watchPosition() returnează locația curentă și continuă să returneze actualizări pe măsură ce utilizatorul se mișcă (ca GPS-ul dintr-o mașină), iar clearWatch() oprește watchPosition(). Ai nevoie de un dispozitiv GPS precis, precum un smartphone, pentru a testa watchPosition().

Exemplu

Urmărirea continuă a locației utilizatorului cu watchPosition().

Prompt
O pagină care folosește metoda watchPosition din Geolocation pentru a afișa continuu latitudinea și longitudinea actualizate ale utilizatorului pe măsură ce se deplasează, cu aceeași gestionare detaliată a erorilor (cel mai bine testată pe un dispozitiv GPS).
Rezultat: pagină HTML completă