HTML API-ul Geolocation este utilizat pentru a localiza poziția utilizatorului.
Localizați poziția utilizatorului
HTML API-ul Geolocation este utilizat pentru a obține poziția geografică a unui utilizator.
Din moment ce acest lucru poate compromite intimitatea, poziția nu este disponibilă excepția cazului în care utilizatorul îl aprobă.
Suport pentru browser-
Numerele din tabel specifica prima versiune de browser care acceptă pe deplin de geolocalizare.
API-ul | |||||
---|---|---|---|---|---|
Geolocation | 5 | 9 | 3.5 | 5 | 16.0 |
Note: Localizarea geografică este mult mai precisă pentru dispozitive cu GPS, cum ar fi iPhone .
Utilizarea HTML-ului Geolocation
getCurrentPosition() metoda este utilizată pentru a obține poziția utilizatorului.
Exemplul de mai jos returnează latitudinea și longitudinea poziției utilizatorului:
Exemplu
<script>
var x = document.getElementById("demo");
function
getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this
browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude:
" + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
Încearcă - l singur » Exemplu explicat:
- Verificați dacă este acceptată de localizare geografică
- Dacă e susținută, rulați getCurrentPosition() metoda. Dacă nu, afișează un mesaj pentru utilizator
- În cazul în care getCurrentPosition() metoda este de succes, se returnează un coordonate opoziție la funcția specificată în parametrul (showPosition)
- showPosition() funcția de ieșiri de latitudine și longitudine
Exemplul de mai sus este un script de geolocalizare foarte de bază, cu nici o eroare de manipulare.
Manipularea Erori și Respingeri
Al doilea parametru al getCurrentPosition() Metoda este utilizată pentru a trata erorile. Acesta specifică o funcție pentru a rula în cazul în care nu reușește să obțină locația utilizatorului:
Exemplu
function showError(error) {
switch(error.code)
{
case error.PERMISSION_DENIED:
x.innerHTML = "User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML = "Location information is unavailable."
break;
case error.TIMEOUT:
x.innerHTML = "The request to get user location timed out."
break;
case error.UNKNOWN_ERROR:
x.innerHTML = "An unknown error occurred."
break;
}
}
Încearcă - l singur » Afișarea Rezultatul într-o hartă
Pentru a afișa rezultatul într-o hartă, aveți nevoie de acces la un serviciu de hartă, cum ar fi Google Maps.
In exemplul de mai jos, latitudinea și longitudinea returnat este folosit pentru a arăta locația într - o hartă Google (using a static image) :
Exemplu
function showPosition(position) {
var
latlon = position.coords.latitude + "," + position.coords.longitude;
var
img_url = "http://maps.googleapis.com/maps/api/staticmap?center=
"+latlon+"&zoom=14&size=400x300&sensor=false";
document.getElementById("mapholder").innerHTML = "<img src='"+img_url+"'>";
}
Încearcă - l singur » Google Map Script
Cum de a afișa o hartă interactivă Google cu un marker, zoom și opțiuni trageți.
Informații specifice locației
Această pagină a demonstrat cum se arăta poziția utilizatorului pe o hartă.
Localizarea geografică este, de asemenea, foarte util pentru informații specifice locației, cum ar fi:
- Până la data de informații locale
- Se afișează Puncte de interes din apropierea utilizatorului
- Turn-by - turn de navigare (GPS)
getCurrentPosition() Metoda - Datele de returnare
getCurrentPosition() metoda returneaza un obiect în cazul în care este de succes. Latitudinea, longitudinea și precizie proprietățile sunt întotdeauna returnate. Celelalte proprietăți sunt returnate dacă sunt disponibile:
Proprietate | Se intoarce |
---|---|
coords.latitude | Latitudinea ca număr zecimal |
coords.longitude | Longitudinea ca număr zecimal |
coords.accuracy | Precizia poziției |
coords.altitude | Altitudinea în metri deasupra nivelului mediu al mării |
coords.altitudeAccuracy | Precizia altitudinii poziției |
coords.heading | Poziția ca grade în sens orar de Nord |
coords.speed | Viteza în metri pe secundă |
timestamp | Data / ora răspunsului |
Localizarea geografică obiect - Alte metode interesante
watchPosition() - Returnează poziția curentă a utilizatorului și continuă să se întoarcă poziția actualizate pe măsură ce utilizatorul se mută (like the GPS in a car) - (like the GPS in a car) - (like the GPS in a car) .
clearWatch() - Oprește watchPosition() metoda.
Exemplul de mai jos arată watchPosition() metoda. Ai nevoie de un dispozitiv GPS precis pentru a testa acest lucru (like iPhone ) :
Exemplu
<script>
var x = document.getElementById("demo");
function
getLocation() {
if (navigator.geolocation) {
navigator.geolocation.watchPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this
browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude:
" + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
Încearcă - l singur »