HTML Geolocation API нь хэрэглэгчийн байршлыг тогтооход ашиглагддаг.
Хэрэглэгчийн байрлалыг олох #
HTML Geolocation API нь хэрэглэгчийн газарзүйн байрлалыг олж авахад хэрэглэгддэг.
Энэ нь нууцлалыг алдагдуулж болзошгүй тул хэрэглэгч зөвшөөрөөгүй тохиолдолд байршилийг олох боломжгүй болно.
Хөтөчийн дэмжлэг #
Хүснэгт дэх тоонууд нь Geolocation-ийг бүрэн дэмждэг анхны хөтөчийн хувилбарыг зааж өгдөг.
API | chrome | internet explorer | mozila | safari | opera |
---|---|---|---|---|---|
Geolocation | 5.0 – 49.0 (http) 50.0 (https) |
9.0 | 3.5 | 5.0 | 16.0 |
Тэмдэглэл: Chrome 50-ийн хувьд Geolocation API нь зөвхөн HTTPS гэх мэт аюулгүй нөхцөлд ажиллах болно. Хэрэв таны сайт аюулгүй бус гарал үүсэл дээр байрладаг бол (HTTP гэх мэт) хэрэглэгчдийн байршлыг тогтоох хүсэлтүүд цаашид ажиллахгүй болно.
HTML Geolocation ашиглах #
getCurrentPosition()
арга нь хэрэглэгчийн байрлалыг буцаахад ашиглагддаг.
Доорх жишээнд хэрэглэгчийн байршлын өргөрөг, уртрагыг буцааж өгнө.
<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>
Жишээ тайлбарласан:
- Geolocation дэмжиж байгаа эсэхийг шалгана уу
- Дэмжигдэж байнгаа бол getCurrentPosition () аргыг ажилна. Хэрэв үгүй бол хэрэглэгчид мессеж харуулн
- Хэрэв getCurrentPosition () арга амжилттай болсон бол координатын объектыг параметрт заасан функцэд буцаадаг (showPosition)
- ShowPosition () функц нь Өргөрөг ба Уртрагыг гаргадаг
Handling Errors and Rejections #
The second parameter of the getCurrentPosition()
method is used to handle errors. It specifies a function to run if it fails to get the user’s location:
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;
}
}
Үр дүнг газрын зураг дээр харуулах #
Үр дүнг газрын зураг дээр харуулахын тулд Google газрын зураг гэх мэт газрын зургийн үйлчилгээнд нэвтрэх шаардлагатай.
Доорх жишээнд буцаж ирсэн өргөрөг, уртрагыг Google газрын зураг дээр байрлалыг харуулахад ашигладаг (статик дүрс ашиглан):
function showPosition(position) {
var latlon = position.coords.latitude + "," + position.coords.longitude;
var 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+"'>";
}
Байршилд зориулсан мэдээлэл #
Энэ хуудас нь хэрэглэгчийн байрлалыг газрын зураг дээр хэрхэн харуулахыг харуулсан болно.
Газарзүйн байршил нь байршлын тодорхой мэдээлэлд маш хэрэгтэй байдаг.
- Орон нутгийн хамгийн сүүлийн үеийн мэдээлэл
- Хэрэглэгчийн ойролцоох сонирхлын цэгүүдийг харуулах
- Ээлж дараалан навигаци (GPS)
GetCurrentPosition () арга – Өгөгдөл буцаах #
getCurrentPosition()
арга нь амжилттй болвол объектыг буцааж өгдөг. Өргөрөг, уртраг, нарийвчлалын шинж чанарыг үргэлж буцааж өгдөг.
Property | Returns |
---|---|
coords.latitude | Аравтын тоогоор өргөрөг (үргэлж буцаадаг) |
coords.longitude | Аравтын бутархай уртраг (үргэлж буцаадаг) |
coords.accuracy | Байршлын нарийвчлал (үргэлж буцааж өгдөг) |
coords.altitude | Далайн дундаж түвшнээс дээш метрээр өндөр (хэрэв боломжтой бол буцаана) |
coords.altitudeAccuracy | Байршлын өндрийн нарийвчлал (хэрэв боломжтой бол буцаана) |
coords.heading | Хойд зүгээс цагийн зүүний дагуу градус (хэрэв боломжтой бол буцаана) |
coords.speed | Секундэд метрээр тооцогдох хурд (боломжтой бол буцаана) |
timestamp | Хариу өгөх огноо / цаг (боломжтой бол буцааж өгөх) |
Geolocation объект – Бусад сонирхолтой аргууд #
Geolocation объект нь бусад сонирхолтой аргуудтай.
watchPosition()
-Хэрэглэгчийн одоогийн байрлалыг буцааж, хэрэглэгч шилжих үед шинэчлэгдсэн байрлалаа буцааж үргэлжлүүлнэ (машины GPS гэх мэт).clearWatch()
–watchPosition()
аргыг зогсооно.
Доорх жишээнд watchPosition()
аргыг харуулав. Үүнийг шалгахын тулд танд яг нарийн GPS төхөөрөмж хэрэгтэй (ухаалаг гар утас гэх мэт):
<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>