HTML Geolocation API digunakan untuk menemukan posisi pengguna.
Apa W3C Geolocation API?
W3C Geolocation API merupakan upaya oleh World Wide Web Consortium (W3C) untuk standarisasi antarmuka untuk mengambil informasi lokasi geografis untuk perangkat sisi klien.
Ini mendefinisikan satu set objek, ECMAScript standar compliant, yang mengeksekusi dalam aplikasi klien memberikan lokasi perangkat klien melalui konsultasi Server Informasi Lokasi, yang transparan untuk antarmuka pemrograman aplikasi (API).
Sumber yang paling umum dari informasi lokasi yang alamat IP, Wi-Fi dan Bluetooth alamat MAC, identifikasi frekuensi radio (RFID), lokasi koneksi Wi-Fi, atau perangkat Global Positioning System (GPS) dan ID sel GSM / CDMA.
Lokasi dikembalikan dengan akurasi yang diberikan tergantung pada lokasi terbaik sumber informasi yang tersedia.
Deployment di web browser
halaman web dapat menggunakan API Geolocation langsung jika web browser mengimplementasikannya. Secara historis, beberapa browser dapat memperoleh dukungan melalui plugin Google Gears, tapi ini dihentikan pada 2010 dan API server-side itu tergantung pada berhenti merespons pada tahun 2012.
The Geolocation API cocok untuk aplikasi web untuk perangkat mobile seperti asisten pribadi digital (PDA) dan smartphone. Pada komputer desktop, API W3C Geolocation bekerja di Firefox sejak versi 3.5, Google Chrome, Opera 10.6, Internet Explorer 9.0, dan Safari 5. Pada perangkat seluler, ia bekerja pada Android (firmware 2.0 +), iOS, Windows Phone dan Maemo.
W3C Geolocation API juga didukung oleh Opera Mobile 10.1 - tersedia untuk perangkat Android dan Symbian (S60 generasi 3 & 5) sejak November 24, 2010.
Google Gears memberikan dukungan geolocation untuk browser lama dan non-compliant, termasuk Internet Explorer 7.0+ sebagai plugin Gears, dan Google Chrome yang dilaksanakan Gears native. Hal ini juga didukung geolocation pada perangkat mobile sebagai plugin untuk browser Android (pra versi 2.0) dan Opera Mobile untuk Windows Mobile.
Namun, API Google Gears Geolocation tidak sesuai dengan API W3C Geolocation dan tidak lagi didukung.
fitur
Hasil W3C Geolocation API biasanya akan memberikan 4 sifat lokasi, termasuk lintang dan bujur (koordinat), ketinggian (tinggi), dan [akurasi posisi berkumpul], yang semua tergantung pada sumber lokasi.
Dalam beberapa permintaan, ketinggian dapat menghasilkan atau tidak menghasilkan nilai.
Cari Posisi Pengguna
HTML Geolocation API digunakan untuk mendapatkan posisi geografis pengguna.
Karena ini bisa kompromi privasi, posisi ini tidak tersedia kecuali pengguna menyetujuinya.
Dukungan Browser
Angka-angka dalam tabel menentukan versi browser pertama yang sepenuhnya mendukung Geolocation.
API | |||||
---|---|---|---|---|---|
Geolocation | 5.0 | 9.0 | 3,5 | 5.0 | 16.0 |
Note: Geolocation jauh lebih akurat untuk perangkat dengan GPS, seperti iPhone .
Menggunakan Geolocation HTML
The getCurrentPosition() metode yang digunakan untuk mendapatkan posisi pengguna.
Contoh di bawah mengembalikan lintang dan bujur dari posisi pengguna:
Contoh
<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>
Cobalah sendiri " Contoh menjelaskan:
- Periksa apakah Geolocation didukung
- Jika didukung, menjalankan getCurrentPosition() metode. Jika tidak, menampilkan pesan ke pengguna
- Jika getCurrentPosition() metode berhasil, ia mengembalikan koordinat keberatan dengan fungsi yang ditentukan dalam parameter (showPosition)
- The showPosition() fungsi output Lintang dan Bujur
Contoh di atas adalah script Geolocation sangat dasar, tanpa penanganan error.
Penanganan Kesalahan dan Penolakan
Parameter kedua dari getCurrentPosition() metode yang digunakan untuk menangani kesalahan. Ini menentukan fungsi untuk menjalankan jika gagal untuk mendapatkan lokasi pengguna:
Contoh
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;
}
}
Cobalah sendiri " Menampilkan Hasil dalam Peta suatu
Untuk menampilkan hasilnya dalam peta, Anda memerlukan akses ke layanan peta, seperti Google Maps.
Pada contoh di bawah ini, garis lintang dan bujur kembali digunakan untuk menunjukkan lokasi di Google Map (using a static image) :
Contoh
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+"'>";
}
Cobalah sendiri " Google Map Script
Cara menampilkan Google Map interaktif dengan spidol, zoom dan pilihan drag.
Informasi spesifik lokasi
Halaman ini menunjukkan bagaimana untuk menunjukkan posisi pengguna pada peta.
Geolocation juga sangat berguna untuk informasi lokasi-spesifik, seperti:
- Up-to-date informasi lokal
- Menampilkan Poin-of-bunga di dekat pengguna
- Turn-by-turn navigasi (GPS)
The getCurrentPosition() Method - Kembali data
The getCurrentPosition() metode mengembalikan sebuah objek jika berhasil. Lintang, bujur dan akurasi sifat selalu dikembalikan. Sifat-sifat lainnya dikembalikan jika tersedia:
Milik | Pengembalian |
---|---|
coords.latitude | Lintang sebagai angka desimal |
coords.longitude | Bujur sebagai angka desimal |
coords.accuracy | Akurasi posisi |
coords.altitude | Ketinggian dalam meter di atas permukaan laut |
coords.altitudeAccuracy | Ketinggian akurasi posisi |
coords.heading | Pos sebagai derajat searah jarum jam dari North |
coords.speed | Kecepatan dalam meter per detik |
timestamp | Tanggal / waktu respon |
Geolocation objek - Metode menarik lainnya
watchPosition() - Mengembalikan posisi saat ini pengguna dan terus kembali posisi diperbarui sebagai pengguna bergerak (like the GPS in a car) .
clearWatch() - Menghentikan watchPosition() metode.
Contoh di bawah ini menunjukkan watchPosition() metode. Anda memerlukan perangkat GPS yang akurat untuk tes ini (like iPhone ) :
Contoh
<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>
Cobalah sendiri "