Skip to content
Om Puter

Om Puter

Berbagi Tutorial Coding dan Pemrograman Komputer

Menu
  • Channel YouTube ThirteeNov
  • Channel YouTube Om Puter
Menu

Cara Mendapatkan Koordinat Lokasi Pengguna di Web Menggunakan JavaScript (Android & iOS)

Posted on 18 Juli 2025 by OmPuter

Mengintegrasikan fitur lokasi (GPS) ke dalam aplikasi web bukan lagi hal yang sulit. JavaScript menyediakan API bawaan bernama Geolocation API yang memungkinkan kita mengakses informasi lokasi pengguna, baik ketika aplikasi dibuka di desktop maupun smartphone Android/iOS.

Dalam artikel ini, kita akan membahas secara lengkap:

  • Cara meminta akses lokasi pengguna
  • Contoh kode JavaScript
  • Tips meningkatkan akurasi
  • Penanganan permission (izin)
  • Dukungan di perangkat Android/iOS
  • Saran keamanan dan privasi

๐Ÿงญ 1. Apa itu Geolocation API?

Geolocation API adalah bagian dari HTML5 yang memungkinkan kita mendapatkan informasi geografis pengguna, seperti latitude (garis lintang) dan longitude (garis bujur). API ini bekerja berdasarkan:

  • GPS (jika tersedia)
  • WiFi positioning
  • IP address (kurang akurat)
  • Cell tower (di HP)

๐Ÿ“ฒ 2. Contoh Kode Dasar: Dapatkan Lokasi Sekali

if ('geolocation' in navigator) {
navigator.geolocation.getCurrentPosition(
function(position) {
const lat = position.coords.latitude;
const lon = position.coords.longitude;
console.log(`Lokasi saat ini: ${lat}, ${lon}`);
},
function(error) {
console.error('Gagal mendapatkan lokasi:', error.message);
},
{
enableHighAccuracy: true,
timeout: 10000,
maximumAge: 0
}
);
} else {
alert('Geolocation tidak didukung di browser ini.');
}

Penjelasan:

  • enableHighAccuracy: true: meminta data paling akurat (biasanya menggunakan GPS)
  • timeout: batas waktu maksimum untuk mengambil data
  • maximumAge: umur cache data lokasi (0 = ambil data baru)

๐Ÿ“ก 3. Mengikuti Pergerakan Lokasi (Real-time Tracking)

Jika kamu ingin mendapatkan posisi pengguna secara berkala, gunakan watchPosition():

const watchId = navigator.geolocation.watchPosition(
function(position) {
console.log(`Update posisi: ${position.coords.latitude}, ${position.coords.longitude}`);
},
function(error) {
console.error('Error:', error.message);
},
{
enableHighAccuracy: true
}
);

// Untuk menghentikan tracking:
navigator.geolocation.clearWatch(watchId);

๐Ÿ” 4. Penanganan Izin Lokasi (Permission)

Ketika memanggil Geolocation API, browser akan menampilkan popup izin:

  • Chrome & Firefox di Android/iOS: akan minta izin “Allow Location Access”
  • Safari iOS: akan muncul dialog native iOS meminta akses lokasi

Jika pengguna menolak, maka callback error akan dijalankan dengan kode PERMISSION_DENIED.

Contoh pengecekan:

if (error.code === error.PERMISSION_DENIED) {
alert('Akses lokasi ditolak oleh pengguna.');
}

๐ŸŽฏ 5. Tips Meningkatkan Akurasi Lokasi

  • Gunakan enableHighAccuracy: true agar browser memaksa menggunakan GPS
  • Di mobile, minta pengguna untuk mengaktifkan GPS terlebih dahulu
  • Gunakan koneksi internet aktif (WiFi lebih akurat untuk posisi indoor)
  • Perhatikan timeout agar tidak membuat UI menggantung terlalu lama

๐Ÿ“ฑ 6. Dukungan di Android dan iOS

PlatformStatus Geolocation APICatatan
Android Chromeโœ… Didukung penuhPastikan lokasi aktif
iOS Safariโœ… Didukung penuhSejak iOS 13+, wajib HTTPS
Android WebViewโœ… Dengan izin lokasiPerlu konfigurasi tambahan di native Android
Progressive Web App (PWA)โœ… DidukungPerlu permission saat instalasi

โš ๏ธ Penting:

Untuk bisa mendapatkan lokasi di browser mobile, situs web HARUS diakses via HTTPS.


๐Ÿ›ก๏ธ 7. Perhatian Khusus: Keamanan & Privasi

Saat menggunakan data lokasi:

  • Jangan simpan atau kirim data lokasi tanpa izin eksplisit dari pengguna
  • Jelaskan dengan jelas mengapa kamu butuh akses lokasi (misalnya: “Untuk menampilkan UMKM terdekat”)
  • Ikuti aturan GDPR dan Kebijakan Privasi

๐Ÿ’ก 8. Studi Kasus: Tampilkan Peta Lokasi Pengguna

Kamu bisa menampilkan lokasi pengguna menggunakan peta dari Leaflet atau Google Maps:

<div id="map" style="height: 400px;"></div>
<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>
<link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css"/>

<script>
navigator.geolocation.getCurrentPosition((position) => {
const lat = position.coords.latitude;
const lon = position.coords.longitude;

const map = L.map('map').setView([lat, lon], 15);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
L.marker([lat, lon]).addTo(map).bindPopup("Lokasi Kamu").openPopup();
});
</script>

๐Ÿš€ Penutup

Menambahkan fitur lokasi ke web app adalah langkah penting untuk membangun pengalaman yang lebih personal dan kontekstual, seperti:

  • Menampilkan lokasi toko terdekat
  • Melacak kurir / delivery
  • Menyediakan layanan berbasis wilayah

Dengan Geolocation API, kamu bisa langsung mulai tanpa library tambahan. Pastikan kamu menangani permission dengan bijak dan selalu memikirkan privasi pengguna.

Post Views: 208

Kategori

  • 3D Max
  • Adobe Animate
  • Android
  • c#
  • Cordova
  • HTML5, CSS & JavaScript
  • iOS
  • Lain-lain
  • Photoshop
  • PHP
  • Python
  • Roblox
  • Tak Berkategori
  • Unity
  • WordPress
ciihuy2020
© 2026 Om Puter | Powered by Superbs Personal Blog theme