Web Geolocation API
Foydalanuvchi joylashgan joyni aniqlash
HTML Geolocation API foydalanuvchining geografik joylashuvini aniqlash uchun ishlatiladi.
Maxfiylik
Joylashuvni aniqlash shaxsiy daxlsizlikka daxl qilishi mumkinligi sababli, foydalanuvchi ruxsat bermaguncha joylashuv ma'lumotlari mavjud bo'lmaydi.
Misol
let x = document.getElementById('demo')
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, showError)
} else {
x.innerHTML = "Ushbu brauzerda Geolokatsiya qo'llab-quvvatlanmaydi."
}
}
function showPosition(position) {
x.innerHTML =
'Latitude: ' +
position.coords.latitude +
'<br>Longitude: ' +
position.coords.longitude
}Brauzer yordami
Geolocation API barcha zamonaviy brauzerlarda qo'llab-quvvatlanadi.
Muhim
Geolocation API faqat HTTPS kabi xavfsiz ulanishlarda ishlaydi. Agar saytingiz HTTP orqali ishlasa, joylashuvni aniqlash so'rovlari ishlamaydi.
Geolocation API-dan foydalanish
Foydalanuvchi joylashgan joyni aniqlash uchun getCurrentPosition() metodidan foydalaniladi.
Misol tushuntirishi:
- Geolokatsiya qo'llab-quvvatlanishi tekshiriladi.
- Agar qo'llab-quvvatlansa,
getCurrentPosition()metodi ishga tushiriladi. Agar yo'q bo'lsa, foydalanuvchiga xabar ko'rsatiladi. - Agar
getCurrentPosition()muvaffaqiyatli bo'lsa, u parametrda ko'rsatilgan funksiyaga (showPosition) koordinatalar obyektini qaytaradi. showPosition()funksiyasi kenglik (Latitude) va boylikni (Longitude) chiqaradi.
Xatolar va rad etishlarni boshqarish
getCurrentPosition() metodining ikkinchi parametri xatolarni boshqarish uchun ishlatiladi. Agar foydalanuvchi joylashuvini aniqlash imkoni bo'lmasa, bajariladigan funksiyani ko'rsatadi:
function showError(error) {
switch (error.code) {
case error.PERMISSION_DENIED:
x.innerHTML = "Foydalanuvchi Geolokatsiya so'rovini rad etdi."
break
case error.POSITION_UNAVAILABLE:
x.innerHTML = "Joylashuv ma'lumotlari mavjud emas."
break
case error.TIMEOUT:
x.innerHTML = "Foydalanuvchi joylashuvini aniqlash so'rovi vaqti tugadi."
break
case error.UNKNOWN_ERROR:
x.innerHTML = "Noma'lum xato yuz berdi."
break
}
}Natijani xaritada ko'rsatish
Natijani xaritada ko'rsatish uchun sizga Google Maps kabi xarita xizmati kerak bo'ladi. Olingan kenglik va boylik koordinatalari yordamida foydalanuvchi joylashgan joyni xaritada belgilash mumkin.
Joylashuvga xos ma'lumotlar
Geolokatsiya quyidagi holatlarda juda foydali bo'lishi mumkin:
- Mahalliy ma'lumotlarni yangilab turish.
- Foydalanuvchi yaqinidagi diqqatga sazovor joylarni ko'rsatish.
- Navigatsiya (GPS).
getCurrentPosition() metodi — Qaytariladigan ma'lumotlar
Muvaffaqiyatli bo'lganda, getCurrentPosition() metodi obyekt qaytaradi. Kenglik, boylik va aniqlik xususiyatlari har doim qaytariladi. Boshqa xususiyatlar mavjud bo'lsa qaytariladi:
| Xususiyat | Tavsif |
|---|---|
coords.latitude | Kenglik (decimal) |
coords.longitude | Boylik (decimal) |
coords.accuracy | Joylashuvning aniqligi |
coords.altitude | Dengiz sathidan balandlik (metrda) |
coords.altitudeAccuracy | Balandlikning aniqligi |
coords.heading | Yo'nalish (shimoldan soat yo'nalishi bo'yicha darajalarda) |
coords.speed | Tezlik (metr/sekundda) |
timestamp | Javob berilgan sana/vaqt |
Geolocation obyektining boshqa metodlari
watchPosition()— Foydalanuvchining joriy joylashuvini qaytaradi va u harakatlangan sari yangilangan joylashuvni berishda davom etadi (masalan, mashinadagi GPS kabi).clearWatch()—watchPosition()metodini to'xtatadi.
