HTML Geolocation API
जियोलोकेशन एपीआई का उपयोग उपयोगकर्ता की वर्तमान स्थिति जानने के लिए किया जाता है।
नोट:
जियोलोकेशन एपीआई केवल HTTPS जैसे सुरक्षित वातावरण में उपलब्ध है।
सहायता नोट:
जियोलोकेशन एपीआई जीपीएस वाले उपकरणों के लिए अधिक सटीक है, उदाहरण के लिए स्मार्टफोन या स्मार्टवॉच।
उपयोगकर्ता के स्थान का पता लगाना
जियोलोकेशन एपीआई का उपयोग उपयोगकर्ता के वर्तमान स्थान तक पहुंचने के लिए किया जाता है।
चूंकि यह गोपनीयता से समझौता कर सकता है, इसलिए स्थान तब तक उपलब्ध नहीं होता जब तक उपयोगकर्ता इसे अधिकृत नहीं करता।
ब्राउज़र समर्थन
तालिका में संख्याएँ पहले ब्राउज़र संस्करण का प्रतिनिधित्व करती हैं जो जियोलोकेशन का पूरी तरह से समर्थन करता है।
| API | Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|---|
| Geolocation | 5.0 | 12.0 | 3.5 | 5.0 | 10.6 |
HTML जियोलोकेशन एपीआई का उपयोग करना
Geolocation API navigator.geolocationको कॉल द्वारा एक्सेस किया जाता है, यह उपयोगकर्ता से ब्राउज़र को उपयोगकर्ता के स्थान डेटा तक पहुंचने की अनुमति देने के लिए कहेगा। यदि उपयोगकर्ता स्वीकार करता है, तो ब्राउज़र इस जानकारी तक पहुंचने के लिए डिवाइस पर उपलब्ध सर्वोत्तम कार्यक्षमता (उदाहरण के लिए जीपीएस) की तलाश करेगा।
getCurrentPosition()उपयोगकर्ता के वर्तमान स्थान को वापस करने के लिए विधि का उपयोग किया जाता है।
नीचे दिया गया उदाहरण उपयोगकर्ता के वर्तमान स्थान का अक्षांश और देशांतर लौटाता है:
उदाहरण
<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>
उदाहरण स्पष्टीकरण:
- जांचें कि क्या जियोलोकेशन समर्थित है
- यदि जियोलोकेशन समर्थित है,
getCurrentPosition()विधि चलाएँ. अन्यथा, उपयोगकर्ता को एक संदेश प्रदर्शित करें success()फ़ंक्शन उपयोगकर्ता के स्थान को अक्षांश और देशांतर में आउटपुट करता हैerror()समारोहgetCurrentPosition()ब्राउज़र में एक टेक्स्ट चेतावनी देते हुए एक त्रुटि आती है
त्रुटि प्रबंधन और अस्वीकरण
getCurrentPosition()विधि का दूसरा पैरामीटर त्रुटियों को संभालने के लिए उपयोग किया जाता है। यदि उपयोगकर्ता का स्थान प्राप्त करने में विफल रहता है तो निष्पादित करने के लिए फ़ंक्शन निर्दिष्ट करता है।
यहां अधिक विशिष्ट त्रुटि प्रबंधन का एक उदाहरण दिया गया है:
उदाहरण
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;
}
}
स्थान-विशिष्ट जानकारी
स्थान-विशिष्ट जानकारी के लिए जियोलोकेशन भी बहुत उपयोगी है, उदाहरण के लिए:
- नवीनतम स्थानीय जानकारी
- उपयोगकर्ता के निकट आकर्षण दिखा रहा है
- जीपीएस (जीपीएस)
getCurrentPosition()विधि - डेटा सबमिशन
getCurrentPosition()विधि सफल होने पर किसी ऑब्जेक्ट को वापस कर देती है। अक्षांश, देशांतर और परिशुद्धता गुण हमेशा प्रदान किए जाते हैं। यदि उपलब्ध हो तो अन्य संपत्तियाँ प्रदान की जाती हैं:
| प्रवृत्ति | डेटा उपलब्ध कराया गया |
|---|---|
coords.latitude |
दशमलव संख्या के रूप में अक्षांश(जब जारी किया गया) |
coords.longitude |
दशमलव संख्या के रूप में देशांतर(जब जारी किया गया) |
coords.accuracy |
स्थान सटीकता(जब जारी किया गया) |
coords.altitude |
औसत समुद्र तल से ऊंचाई मीटर में(उपलब्धता का विषय) |
coords.altitudeAccuracy |
स्थान की ऊंचाई सटीकता(उपलब्धता का विषय) |
coords.heading |
उत्तर से दक्षिणावर्त डिग्री में बढ़ रहा है(उपलब्धता का विषय) |
coords.speed |
गति मीटर प्रति सेकंड में(उपलब्धता का विषय) |
timestamp |
प्रतिक्रिया की तिथि/समय(उपलब्धता का विषय) |
जिओलोकेशन का मतलब है - अन्य दिलचस्प तरीके
जियोलोकेशन ऑब्जेक्ट में अन्य दिलचस्प तरीके भी हैं:
watchPosition()- उपयोगकर्ता का वर्तमान स्थान प्रदान करता है और उपयोगकर्ता के चलते समय अद्यतन स्थान प्रदान करता रहता है (जैसे कार में जीपीएस)।clearWatch()-watchPosition()विधि को रोकता है.
उदाहरण
<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>
इंटरैक्टिव दृष्टिकोण
जियोलोकेशन एपीआई प्रक्रिया
अपना वर्तमान स्थान प्राप्त करने के लिए बटन पर क्लिक करें। आपका ब्राउज़र अनुमति मांगेगा.
ध्यान:
इस एपीआई के लिए उपयोगकर्ता की अनुमति की आवश्यकता है। यदि उपयोगकर्ता को अनुमति से वंचित कर दिया जाता है, तो स्थान डेटा उपलब्ध नहीं होगा। केवल HTTPS कनेक्शन पर काम करता है।