HTML5 जियोलोकेशन

HTML5 Geolocation (जीयोलोकेशन) उपयोगकर्ता के स्थान को निर्धारित करने के लिए है

अपने अपने साथ प्रयास करें: गूगल मानचित्र पर आपकी स्थिति दिखाएं

उपयोगकर्ता के स्थान को निर्धारित करना

HTML5 Geolocation API उपयोगकर्ता के जीयोग्राफिक स्थान को प्राप्त करने के लिए है

इस विशेषता के कारण उपयोगकर्ता की गोपनीयता को भंग करने के लिए, उपयोगकर्ता के सहमति के बिना उपयोगकर्ता की स्थिति सूचना उपलब्ध नहीं है

ब्राउज़र समर्थन

Internet Explorer 9, Firefox, Chrome, Safari और Opera जीयोलोकेशन को समर्थन करते हैं

टिप्पणी:GPS वाले उपकरणों के लिए जैसे iPhone में जीयोलोकेशन अधिक सटीक होता है

HTML5 - जीयोलोकेशन का उपयोग

उपयोगकर्ता की स्थिति प्राप्त करने के लिए getCurrentPosition() विधि का उपयोग करें

नीचे का उदाहरण एक सरल जीयोलोकेशन उदाहरण है जो उपयोगकर्ता के दूरी और अक्षांश को वापस करता है

उदाहरण

<script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(showPosition);
    }
  else{x.innerHTML="इस ब्राउज़र में जीओलोकेशन समर्थित नहीं है.";}
  }
function showPosition(position)
  {
  x.innerHTML="अक्षांश: " + position.coords.latitude +
  "<br />लंबाई: " + position.coords.longitude;
  }
</script>

अपने आप साबित करें

उदाहरण व्याख्या:

  • जीयोलोकेशन का समर्थन न होने की जांच करें
  • समर्थन होने तो getCurrentPosition() विधि चलाएं। नहीं होने तो उपयोगकर्ता को संदेश दिखाएं
  • यदि getCurrentPosition() सफलता से चला तो दूसरे पारामीटर showPosition के लिए एक coordinates ऑब्जेक्ट वापस करता है
  • showPosition() फ़ंक्शन दूरी और अक्षांश प्राप्त करता है और दिखाता है

ऊपरी उदाहरण एक बुनियादी जीयोलोकेशन स्क्रिप्ट है जो त्रुटि का संभाल करता नहीं है。

त्रुटि और अस्वीकार संभालना

getCurrentPosition() विधि का दूसरा पारामीटर त्रुटि को संभालने के लिए उपयोग किया जाता है। यह विधा के अनुसार उपयोगकर्ता की स्थिति प्राप्त नहीं होने पर चलने वाले फ़ंक्शन को निर्दिष्ट करता है:

उदाहरण

function showError(error)
  {
  switch(error.code)
    {
    case error.PERMISSION_DENIED:
      x.innerHTML="उपयोगकर्ता ने जीयोलोकेशन के अनुरोध को अस्वीकार कर दिया."
      break;
    case error.POSITION_UNAVAILABLE:
      x.innerHTML="स्थान सूचना उपलब्ध नहीं है."
      break;
    case error.TIMEOUT:
      x.innerHTML="उपयोगकर्ता स्थान प्राप्त करने के अनुरोध के लिए समय अतिक्रमण हुआ है."
      break;
    case error.UNKNOWN_ERROR:
      x.innerHTML="एक अज्ञात त्रुटि हुई है."
      break;
    }
  }

अपने आप साबित करें

एरर कोड:

  • स्वीकृति नहीं - उपयोगकर्ता ने भूगोलीय स्थानीयकरण को स्वीकार नहीं किया
  • स्थान उपलब्ध नहीं - स्थान की स्थिति प्राप्त नहीं की जा सकी
  • Timeout - कार्य के लिए समय अतिक्रमण

मानचित्र में परिणाम दिखाना

मानचित्र में परिणाम दिखाने के लिए, आपको देशांतर और अक्षांश का उपयोग करने वाले मानचित्र सेवा (जैसे गूगल मानचित्र या बैडू मानचित्र) पर गवाही देनी होगी:

उदाहरण

function showPosition(position)
{
var latlon=position.coords.latitude+","+position.coords.longitude;
var img_url="http://maps.googleapis.com/maps/api/staticmap?center="
+latlon+"&zoom=14&size=400x300&sensor=false";
document.getElementById("mapholder").innerHTML="<img src='"+img_url+"' />";
}

अपने आप साबित करें

ऊपरी उदाहरण में, हमने गूगल मानचित्र में स्थान (स्थायी चित्र) में वापस प्राप्त हुए देशांतर और अक्षांश डाटा का उपयोग किया है。

गूगल मानचित्र स्क्रिप्ट

ऊपरी लिंक आपको इस तरह के स्क्रिप्ट का उपयोग करके एक सहयोगी मानचित्र (स्थानांक, जगह आकार और खींचने के विकल्प) को दिखाने के तरीके से प्रदर्शित करता है。

दिये हुए स्थान की जानकारी

इस पृष्ठ पर दिखाया गया है कि कैसे मानचित्र पर उपयोगकर्ता के स्थान को दिखाया जाता है। हालांकि, भूगोलीय स्थानीयकरण दिये हुए स्थान की जानकारी के लिए भी बहुत उपयोगी है。

उदाहरण:

  • स्थानीय जानकारी अद्यतन करता है
  • उपयोगकर्ता के आस-पास के रुचि स्थानों को दिखाता है
  • एक्टिव वाहन नेविगेशन प्रणाली (GPS)

getCurrentPosition() विधि - वापसी डाटा

यदि सफल होता है, तो getCurrentPosition() विधि एक ऑब्जेक्ट वापस करती है।हमेशा latitude, longitude और accuracy गुण वापस किए जाते हैं।यदि उपलब्ध होते हैं, तो नीचे दिए गए अन्य गुण वापस किए जाते हैं。

गुण वर्णन
coords.latitude दशमलवीय अक्षांश
coords.longitude दशमलवीय देशांतर
coords.accuracy स्थान संगति
coords.altitude ऊंचाई, समुद्र के स्तर से ऊपर मीटर में मापा गया
coords.altitudeAccuracy स्थान की ऊंचाई का निर्धारण
coords.heading दिशा, सीधे उत्तर से शुरू होकर डिग्री में
coords.speed गति, मीटर/दूरी प्रति सेकंड में
timestamp प्रतिक्रिया की तारीख/समय

Geolocation ऑब्जैक्ट - अन्य रोचक विधियाँ

watchPosition() - उपयोगकर्ता की वर्तमान स्थिति को लौटाता है और उपयोगकर्ता के गतिशील होने पर अद्यतन स्थिति को लौटाता है (जैसे कार में GPS):

clearWatch() - watchPosition() विधि को रोकें

नीचे दिए गए उदाहरण watchPosition() विधि को प्रदर्शित करता है।इस उदाहरण को परीक्षण करने के लिए आकर्षक GPS उपकरण की आवश्यकता है (उदाहरणतः iPhone):

उदाहरण

<script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.watchPosition(showPosition);
    }
  else{x.innerHTML="इस ब्राउज़र में जीओलोकेशन समर्थित नहीं है.";}
  }
function showPosition(position)
  {
  x.innerHTML="अक्षांश: " + position.coords.latitude +
  "<br />लंबाई: " + position.coords.longitude;
  }
</script>

अपने आप साबित करें