API W3C Geolocation

-Ul W3C Geolocation API este un unificat browser web - interfață de programare pentru a determina locația geografică a terminalului asociat. API definește un număr de obiecte ECMAScript care pot fi folosite pentru a citi informații despre poziția geografică a dispozitivului o dată sau permanent. Poziția în sine este determinată de browser sau de sistemul de operare de pe dispozitivul final respectiv și nu face parte din API. Sursele informațiilor despre locație sunt direcționarea geografică a adreselor IP , locația bazată pe WLAN , informațiile despre celule ale rețelei celulare ( GSM / CDMA2000 ) sau, în special pe smartphone-uri , sistemul de poziționare globală . Deoarece aceste surse prezintă diferențe extreme în ceea ce privește acuratețea lor (de la câțiva metri la câțiva kilometri), API returnează o valoare pentru acuratețea lor, în plus față de cele mai precise date de poziție disponibile în prezent.

Suport pentru browser

În timp ce API-ul Geolocation este acum acceptat de practic toate versiunile actuale ale popularelor browsere mobile și desktop, această tehnologie a fost adesea disponibilă numai atunci când a fost introdusă prin intermediul browserului Google Gears, care a fost întrerupt .

utilizare

Datele de poziție sunt determinate asincron. Prin urmare, datele nu sunt disponibile în timp real, dar sunt returnate de API către o funcție de apel invers imediat ce au fost stabilite. Din motive de securitate și protecție a datelor, interogarea cu privire la datele de poziție trebuie de obicei confirmată de către utilizatorul site-ului web.

Următorul cod JavaScript verifică dacă API-ul de geolocalizare este disponibil în browser showPositionși, dacă are succes, îl transferă către funcție , care apoi Alertafișează poziția și, dacă este disponibilă, informațiile despre înălțime ale dispozitivului ca mesaj. O a doua funcție este showErrorutilizată pentru interceptarea și transmiterea erorilor care pot apărea la determinarea coordonatelor geografice. Al treilea parametru poate fi utilizat pentru a seta opțiuni suplimentare.

if (navigator.geolocation) {
    var options = {
      enableHighAccuracy: true,
    }
    navigator.geolocation.getCurrentPosition(showPosition, showError, options);
} else {
    alert('Ihr Browser unterstützt die W3C Geolocation API nicht.');
}

function showPosition(position) {
    alert(
        'Die geographische Position dieses Geräts ist (Stand: ' + new Date(position.timestamp).toLocaleTimeString() + '):\n'+
        'Breitengrad: ' + position.coords.latitude + '° \n'+
        'Längengrad: ' + position.coords.longitude + '° \n'+
        '  Genauigkeit: ' + position.coords.accuracy + 'm\n' +
        (position.coords.altitude ? ('Höhe: ' + position.coords.altitude + 'm\n' +
                                    '  Genauigkeit: ' + position.coords.altitudeAccuracy + 'm') : "")
    ) ;
}

function showError(error) {
    switch(error.code) {
        case error.PERMISSION_DENIED:
            alert('Sie haben die Abfrage ihrer Position untersagt.');
            break;
        case error.POSITION_UNAVAILABLE:
            alert('Es sind keine Positionsdaten verfügbar.');
            break;
        case error.TIMEOUT:
            alert('Das Timeout für die Ortsanfrage wurde überschritten.');
            break;
        default:
            alert('Es ist ein unbekannter Fehler aufgetreten (#' + error.code + ': ' + error.message + ')');
            break;
    }
}

Link-uri web

Dovezi individuale

  1. Specificații API W3C Geolocation . Editor: Andrei Popescu, Google Inc., 22 decembrie 2008. Accesat la 7 iulie 2009
  2. Pot folosi geolocalizarea? CanIUse.com, accesat la 7 iunie 2014 (bază de date pentru suport pentru browser pentru diverse tehnologii web).