HTML Geolocation API

उपयोगकर्ता का वर्तमान स्थान प्राप्त करना

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>

उदाहरण स्पष्टीकरण:

  1. जांचें कि क्या जियोलोकेशन समर्थित है
  2. यदि जियोलोकेशन समर्थित है,getCurrentPosition()विधि चलाएँ. अन्यथा, उपयोगकर्ता को एक संदेश प्रदर्शित करें
  3. success()फ़ंक्शन उपयोगकर्ता के स्थान को अक्षांश और देशांतर में आउटपुट करता है
  4. 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 प्रतिक्रिया की तिथि/समय(उपलब्धता का विषय)

जिओलोकेशन का मतलब है - अन्य दिलचस्प तरीके

जियोलोकेशन ऑब्जेक्ट में अन्य दिलचस्प तरीके भी हैं:

उदाहरण

<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 कनेक्शन पर काम करता है।

अभ्यास

जियोलोकेशन एपीआई का उपयोग करते समय उपयोगकर्ता की गोपनीयता के लिए निम्नलिखित में से कौन सा चरण सबसे महत्वपूर्ण है?

उपयोगकर्ता की अनुमति मांगें
✓ ठीक है! क्योंकि जियोलोकेशन एपीआई उपयोगकर्ता के स्थान डेटा तक पहुंचता है, इसलिए उपयोगकर्ता से अनुमति मांगना गोपनीयता के लिए आवश्यक और महत्वपूर्ण है
त्रुटि संदेश दिखाएँ
✗ ग़लत! त्रुटि संदेश दिखाना महत्वपूर्ण है, लेकिन गोपनीयता के लिए उपयोगकर्ता की अनुमति मांगना मौलिक है
उपयोक्तानाम सहेजें
✗ ग़लत! उपयोगकर्ता नाम संग्रहीत करना सीधे तौर पर जियोलोकेशन एपीआई से संबंधित नहीं है