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 "