Najnowsze tutoriale tworzenie stron internetowych

HTML5 Geolokalizacja


HTML Geolokalizacja API służy do zlokalizowania pozycji użytkownika.


Co znajduje się w W3C geolokalizacji API?

Geolokalizacja W3C API jest próbą przez World Wide Web Consortium (W3C), aby ujednolicić interfejs do pobierania danych geograficznych dla urządzenia po stronie klienta.

Definiuje zbiór obiektów, ECMAScript standardzie RoHS, że wykonywanie w aplikacji klienckiej podać lokalizację urządzenia klienta poprzez doradztwo serwery Lokalizacja informacje, które są przezroczyste dla interfejsu programowania aplikacji (API).

Najczęstsze źródła informacji o lokalizacji to adres IP, Wi-Fi i Bluetooth adres MAC, identyfikacja częstotliwości radiowej (RFID), lokalizacja połączenie Wi-Fi lub urządzenie Global Positioning System (GPS) oraz identyfikatory komórkowe GSM / CDMA.

Lokalizacja jest zwracana przy danej dokładności w zależności od lokalizacji źródła najlepszej dostępnej informacji.


Wdrożenie w przeglądarkach internetowych

stron internetowych mogą korzystać z API geolokalizacji bezpośrednio czy przeglądarka internetowa realizuje go. Historycznie rzecz biorąc, niektóre przeglądarki, może uzyskać wsparcie za pośrednictwem wtyczki Google Gears, ale ta została przerwana w 2010 roku, a po stronie serwera API to zależało od przestał reagować w 2012 roku.

Geolokalizacji API jest idealnie dostosowane do aplikacji internetowych dla urządzeń przenośnych, takich jak palmtopy (PDA) i smartfony. Na komputerach stacjonarnych, API geolokalizacji W3C pracuje w Firefox od wersji 3.5, Google Chrome, Opera 10.6, Internet Explorer 9.0 i Safari 5. W przypadku urządzeń mobilnych, to działa na Androidzie (firmware 2.0+), iOS, Windows Phone i Maemo.

Geolokalizacja W3C API jest również wspierany przez Opera Mobile 10.1 - dostępnej dla urządzeń z systemem Android i Symbian (S60 pokoleń 3 i 5) od 24 listopada 2010 r.

Google Gears zapewniła wsparcie dla geolokalizacji starszych i niezgodnych przeglądarek, w tym Internet Explorer 7.0+ jako wtyczki Gears i Google Chrome, który realizowany Gears natywnie. Wspierał również geolokalizacji na urządzeniach mobilnych jako plugin do przeglądarki Android (wersja 2.0) przed i Opera Mobile dla Windows Mobile.

Jednak API Google Gears Geolokalizacja jest niezgodna z API W3C geolokalizacji i nie jest już obsługiwana.


cechy

Wynikiem W3C geolokalizacji czynnych zazwyczaj otrzymując 4 właściwości lokalizacji oraz szerokości i długości geograficznej (współrzędnych), wysokość (wysokość) i [dokładność położenia zebranych], które przede wszystkim zależy od źródeł lokalizacji.

W niektórych zapytań wysokość może dać lub nie zwraca wartość.


Zlokalizowania pozycji użytkownika

Geolokalizacja API HTML jest używany, aby uzyskać pozycję geograficzną użytkownika.

Ponieważ może to zagrozić prywatności, pozycja nie jest dostępna, chyba że użytkownik zatwierdza go.


Wsparcie przeglądarka

Liczby w tabeli określ pierwszą wersję przeglądarki, która w pełni obsługuje geolokalizacyjnymi.

API
Geolocation 5.0 9.0 3.5 5.0 16,0

Note: Geolokalizacja jest znacznie bardziej dokładne dla urządzeń wyposażonych w GPS, takich jak iPhone .


Korzystanie Geolokalizacja HTML

getCurrentPosition() metoda jest stosowana, aby uzyskać pozycję użytkownika.

Poniższy przykład zwraca szerokość i długość geograficzną położenia użytkownika:

Przykład

<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>
Spróbuj sam "

Przykład wyjaśnia:

  • Sprawdź, czy Geolokalizacja jest obsługiwana
  • Jeśli obsługiwana, uruchom getCurrentPosition() metody. Jeśli nie, należy wyświetlić wiadomość do użytkownika
  • Jeżeli getCurrentPosition() metoda jest skuteczne, to zwraca współrzędne obiektu do funkcji określonego przez parametr (showPosition)
  • showPosition() Funkcja wyjść szerokości i długości geograficznej

Powyższy przykład jest bardzo prosty skrypt geolokalizacji, bez obsługi błędów.


Obsługa błędów i odrzuceń

Drugi parametr getCurrentPosition() wykorzystywana jest do obsługi błędów. Określa funkcję uruchomić, jeśli nie dostać lokalizację użytkownika:

Przykład

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;
    }
}
Spróbuj sam "

Wyświetlanie spowodować mapą

Aby wyświetlić wynik w mapie, trzeba dostęp do usługi map, takich jak Google Maps.

W poniższym przykładzie zwracany szerokość i długość geograficzna jest używana, aby pokazać lokalizację w Mapach Google (using a static image) :

Przykład

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+"'>";
}
Spróbuj sam "

Google Map Script
Jak pokazują interaktywną mapę Google z markerem, zoom i opcje drag.


Informacje specyficzne położenie

Ta strona wykazała, jak pokazują pozycję użytkownika na mapie.

Geolokalizacja jest również bardzo przydatny do informacji o lokalizacji specyficznych, takich jak:

  • Up-to-date informacje lokalne
  • Pokazuje Points-of-specjalny w pobliżu użytkownika
  • Turn-by-turn nawigacji (GPS)

getCurrentPosition() Metoda - Powrót Danych

getCurrentPosition() sposób wraca obiektu, jeśli jest to skuteczne. Właściwości szerokość, długość i dokładność zawsze są zwrócone. Pozostałe właściwości są zwracane, jeśli dostępny:

Nieruchomość Zwroty
coords.latitude Szerokość geograficzna jako liczbę dziesiętną
coords.longitude Długości geograficznej jako liczbę dziesiętną
coords.accuracy Dokładność położenia
coords.altitude Wysokość w metrach nad poziomem morza
coords.altitudeAccuracy Dokładność wysokość położenia
coords.heading Nagłówek jako stopni w prawo od północy
coords.speed Prędkości w metrach na sekundę
timestamp Data / czas reakcji

Geolokalizacja obiekt - Inne interesujące Metody

watchPosition() - Zwraca aktualną pozycję użytkownika i nadal powrotu zaktualizowane stanowisko ruchów użytkownika (like the GPS in a car) .

clearWatch() - zatrzymanie watchPosition() sposobu.

Poniższy przykład pokazuje watchPosition() sposobu. Musisz dokładne urządzenia GPS, aby przetestować ten (like iPhone ) :

Przykład

<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>
Spróbuj sam "