Tutorial JS

JS RUMAH Pengenalan JS JS Dimana Keluaran JS Pernyataan JS Sintaks JS Komentar JS Variabel JS JS Let JS Const Operator JS JS Aritmatika Tugas JS Tipe Data JS Fungsi JS Objek JS Acara JS String JS Metode String JS Pencarian String JS Template String JS Nomor JS Metode Nomor JS JS Array Metode Array JS Sortir Array JS Iterasi Array JS JS Array Const Tanggal JS Format Tanggal JS Metode Dapatkan Tanggal JS Metode Penetapan Tanggal JS JS Matematika JS Acak JS Boolean Perbandingan JS Ketentuan JS Beralih JS JS Loop Untuk JS Loop Untuk Masuk JS Loop Untuk Of JS Loop Sementara Istirahat JS JS Iterable JS Set Peta JS Tipe JS Konversi Tipe JS JS Bitwise JS RegExp Kesalahan JS Lingkup JS Pengangkatan JS Mode Ketat JS JS Kata Kunci ini Fungsi Panah JS Kelas JS JS JSON Debug JS Panduan Gaya JS Praktik Terbaik JS Kesalahan JS Kinerja JS Kata-kata Cadangan JS

Versi JS

Versi JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Tepi Sejarah JS

Objek JS

Definisi Objek Properti Objek Metode Objek Tampilan Objek Aksesor Objek Konstruktor Objek Prototipe Objek Obyek Iterable Set Objek Peta Objek Referensi Objek

Fungsi JS

Definisi Fungsi Parameter Fungsi Panggilan Fungsi Panggilan Fungsi Fungsi Terapkan Penutupan Fungsi

Kelas JS

Perkenalan Kelas Warisan Kelas Kelas Statis

JS Asinkron

Panggilan Balik JS JS Asinkron JS Janji JS Async/Menunggu

JS HTML DOM

Pengenalan DOM Metode DOM Dokumen DOM Elemen DOM HTML DOM Formulir DOM CSS DOM Animasi DOM Acara DOM Pendengar Acara DOM Navigasi DOM Node DOM Koleksi DOM Daftar Node DOM

JS Browser BOM

Jendela JS Layar JS Lokasi JS Sejarah JS JS Navigator Peringatan Munculan JS Waktu JS JS Cookies

JS Web API

Pengantar API Web API Formulir Web API Riwayat Web API Penyimpanan Web API Pekerja Web API Pengambilan Web API Geolokasi Web

JS AJAX

Pengenalan AJAX AJAX XMLHttp Permintaan AJAX Tanggapan AJAX File XML AJAX AJAX PHP AJAX ASP Basis Data AJAX Aplikasi AJAX Contoh AJAX

JS JSON

Perkenalan JSON Sintaks JSON JSON vs XML Tipe Data JSON Penguraian JSON Stringify JSON Objek JSON Array JSON Server JSON JSON PHP JSON HTML JSON JSONP

JS vs jQuery

Pemilih jQuery jQuery HTML jQuery CSS jQuery DOM

Grafik JS

Grafik JS JS Kanvas JS Plotly JS Chart.js Bagan Google JS JS D3.js

Contoh JS

Contoh JS JS HTML DOM Masukan HTML JS Objek HTML JS Acara HTML JS JS Browser Editor JS Latihan JS kuis JS Sertifikat JS

Referensi JS

Objek JavaScript Objek DOM HTML


API Geolokasi Web


Temukan Posisi Pengguna

HTML Geolocation API digunakan untuk mendapatkan posisi geografis pengguna.

Karena ini dapat membahayakan privasi, posisi tersebut tidak tersedia kecuali jika pengguna menyetujuinya.

Catatan: Geolokasi paling akurat untuk perangkat dengan GPS, seperti smartphone.


Geolocation API didukung di semua browser:

Yes Yes Yes Yes Yes

Catatan: Mulai Chrome 50, API Geolokasi hanya akan berfungsi pada konteks aman seperti HTTPS. Jika situs Anda dihosting di asal yang tidak aman (seperti HTTP), permintaan untuk mendapatkan lokasi pengguna tidak akan berfungsi lagi.


Menggunakan API Geolokasi

Metode getCurrentPosition()ini digunakan untuk mengembalikan posisi pengguna.

Contoh di bawah ini mengembalikan garis lintang dan garis bujur dari posisi pengguna:

Contoh

<script>
const 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>

Contoh menjelaskan:

  • Periksa apakah Geolokasi didukung
  • Jika didukung, jalankan metode getCurrentPosition(). Jika tidak, tampilkan pesan kepada pengguna
  • Jika metode getCurrentPosition() berhasil, ia mengembalikan objek koordinat ke fungsi yang ditentukan dalam parameter (showPosition)
  • Fungsi showPosition() menampilkan Latitude dan Longitude

Contoh di atas adalah skrip Geolokasi yang sangat mendasar, tanpa penanganan kesalahan.



Menangani Kesalahan dan Penolakan

Parameter kedua dari getCurrentPosition()metode ini digunakan untuk menangani kesalahan. Ini menentukan fungsi untuk dijalankan jika gagal 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;
  }
}

Menampilkan Hasil dalam Peta

Untuk menampilkan hasilnya dalam peta, Anda memerlukan akses ke layanan peta, seperti Google Maps.

Pada contoh di bawah, garis lintang dan garis bujur yang dikembalikan digunakan untuk menunjukkan lokasi di Google Map (menggunakan gambar statis):

Contoh

function showPosition(position) {
  let latlon = position.coords.latitude + "," + position.coords.longitude;

  let img_url = "https://maps.googleapis.com/maps/api/staticmap?center=
  "+latlon+"&zoom=14&size=400x300&sensor=false&key=YOUR_KEY";

  document.getElementById("mapholder").innerHTML = "<img src='"+img_url+"'>";
}

Informasi khusus lokasi

Halaman ini telah menunjukkan cara menunjukkan posisi pengguna di peta.

Geolokasi juga sangat berguna untuk informasi spesifik lokasi, seperti:

  • Informasi lokal terkini
  • Menampilkan Tempat Menarik di dekat pengguna
  • Navigasi belokan demi belokan (GPS)

Metode getCurrentPosition() - Mengembalikan Data

Metode getCurrentPosition()mengembalikan objek pada keberhasilan. Properti garis lintang, garis bujur, dan akurasi selalu dikembalikan. Properti lainnya dikembalikan jika tersedia:

Property Returns
coords.latitude The latitude as a decimal number (always returned)
coords.longitude The longitude as a decimal number (always returned)
coords.accuracy The accuracy of position (always returned)
coords.altitude The altitude in meters above the mean sea level (returned if available)
coords.altitudeAccuracy The altitude accuracy of position (returned if available)
coords.heading The heading as degrees clockwise from North (returned if available)
coords.speed The speed in meters per second (returned if available)
timestamp The date/time of the response (returned if available)

Objek Geolokasi - Metode menarik lainnya

Objek Geolocation juga memiliki metode menarik lainnya:

  • watchPosition() - Mengembalikan posisi pengguna saat ini dan terus mengembalikan posisi yang diperbarui saat pengguna bergerak (seperti GPS di dalam mobil).
  • clearWatch()- Menghentikan watchPosition()metode.

Contoh di bawah ini menunjukkan watchPosition()metodenya. Anda memerlukan perangkat GPS yang akurat untuk menguji ini (seperti ponsel cerdas):

Contoh

<script>
const 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>