Ultimele tutoriale de dezvoltare web

HTML Localizarea geografică


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 »