HTML Geolocation
Geolocation API foydalanuvchining joriy joylashuvini olish uchun ishlatiladi.
Foydalanuvchi o‘rnini aniqlash
Geolocation API foydalanuvchining joriy joylashuviga kirish uchun ishlatiladi.
Bu maxfiylikka putur yetkazishi mumkin bo‘lgani uchun, foydalanuvchi rozilik bermaguncha joylashuv mavjud bo‘lmaydi.
Eslatma: Geolocation API faqat HTTPS kabi xavfsiz muhitlarda ishlaydi.
Maslahat: Geolocation API smartfon yoki aqlli soat kabi GPS o‘rnatilgan qurilmalarda eng aniq natija beradi.
Brauzerlarda qo‘llab-quvvatlash
Jadvaldagi raqamlar Geolocation’ni to‘liq qo‘llab-quvvatlaydigan birinchi brauzer versiyasini bildiradi.
| API | |||||
|---|---|---|---|---|---|
| Geolocation | 5.0 | 12.0 | 3.5 | 5.0 | 10.6 |
HTML Geolocation API’dan foydalanish
Geolocation API ga
navigator.geolocation chaqiruvi orqali kiriladi. Bu brauzer foydalanuvchidan joylashuv ma’lumotlariga kirish uchun ruxsat so‘rashiga sabab bo‘ladi. Agar foydalanuvchi rozilik bersa, brauzer ushbu ma’lumotga kirish uchun qurilmada mavjud eng yaxshi funksiyani qidiradi (masalan GPS).
getCurrentPosition() metodi foydalanuvchining joriy
joylashuvini qaytarish uchun ishlatiladi.
Quyidagi misol foydalanuvchining joriy joylashuvining kenglik va uzunligini qaytaradi:
Misol
<script>
const x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function success(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
function error() {
alert("Sorry, no position available.");
}
</script>
O‘zingiz sinab ko‘ring »
Misol tushuntirilishi:
- Geolocation qo‘llab-quvvatlanishini tekshirish
- Agar Geolocation qo‘llab-quvvatlansa,
getCurrentPosition()metodini ishga tushiring. Aks holda foydalanuvchiga xabar ko‘rsating - success() funksiyasi foydalanuvchining joylashuvini kenglik va uzunlik ko‘rinishida chiqaradi
- Agar brauzer
getCurrentPosition()da xatolik topsa, error() funksiyasi matnli ogohlantirish chiqaradi
Xatolar va rad etilgan so‘rovlarni qayta ishlash
getCurrentPosition() metodining ikkinchi parametri xatoliklarni
hal qilish uchun ishlatiladi. U foydalanuvchining joylashuvini olish muvaffaqiyatsiz bo‘lsa ishga tushiriladigan funksiyani belgilaydi.
Bu yerda aniqroq xatoliklarni hal qilish misoli keltirilgan:
Misol
function error(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;
}
}
O‘zingiz sinab ko‘ring »
Joylashuvga oid ma’lumotlar
Geolocation joylashuvga oid ma’lumotlar uchun ham juda foydali, masalan:
- Dolzarb mahalliy ma’lumotlar
- Foydalanuvchiga yaqin qiziqarli joylarni ko‘rsatish
- Yo‘l ko‘rsatuvchi navigatsiya (GPS)
getCurrentPosition() metodi — qaytariladigan ma’lumotlar
getCurrentPosition() metodi muvaffaqiyatli bo‘lsa obyekt qaytaradi. Kenglik,
uzunlik va aniqlik xususiyatlari har doim qaytariladi. Qolgan xususiyatlar mavjud bo‘lsa qaytariladi:
| Xususiyat | Qaytaradi |
|---|---|
| coords.latitude | Kenglik (latitude) o‘nlik son sifatida (har doim qaytariladi) |
| coords.longitude | Uzunlik (longitude) o‘nlik son sifatida (har doim qaytariladi) |
| coords.accuracy | Joylashuv aniqligi (har doim qaytariladi) |
| coords.altitude | O‘rtacha dengiz sathidan balandlik, metrlarda (mavjud bo‘lsa qaytariladi) |
| coords.altitudeAccuracy | Joylashuv balandligining aniqligi (mavjud bo‘lsa qaytariladi) |
| coords.heading | Shimoldan soat mili yo‘nalishi bo‘yicha graduslardagi yo‘nalish (mavjud bo‘lsa qaytariladi) |
| coords.speed | Tezlik, metr/soniyada (mavjud bo‘lsa qaytariladi) |
| timestamp | Javobning sanasi/vaqti (mavjud bo‘lsa qaytariladi) |
Geolocation obyekti — boshqa qiziqarli metodlar
Geolocation obyektida boshqa qiziqarli metodlar ham bor:
watchPosition()- Foydalanuvchining joriy joylashuvini qaytaradi va foydalanuvchi harakatlanganda yangilangan joylashuvni qaytarishda davom etadi (avtomobildagi GPS kabi).clearWatch()-watchPosition()metodini to‘xtatadi.
Quyidagi misol watchPosition() metodini ko‘rsatadi. Buni sinash uchun aniq GPS qurilmasi kerak (masalan
smartfon):
Misol
<script>
const x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.watchPosition(success,
error);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function success(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
function error(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;
}
}
</script>
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
