एचटीएमएल 5 - जियोलोकेशन

HTML5 जियोलोकेशन एपीआई आपको अपने पसंदीदा वेब साइटों के साथ अपना स्थान साझा करने देता है। एक जावास्क्रिप्ट आपके अक्षांश और देशांतर पर कब्जा कर सकता है और इसे वेब सर्वर को बैकेंड करने और स्थानीय व्यापार खोजने या नक्शे पर अपना स्थान दिखाने जैसी फैंसी स्थान-जागरूक चीजें करने के लिए भेजा जा सकता है।

आज अधिकांश ब्राउज़र और मोबाइल डिवाइस जियोलोकेशन एपीआई का समर्थन करते हैं। जियोलोकेशन एपीआई वैश्विक नेविगेटर ऑब्जेक्ट यानी की एक नई संपत्ति के साथ काम करते हैं। जियोलोकेशन ऑब्जेक्ट जो निम्नानुसार बनाया जा सकता है -

var geolocation = navigator.geolocation;

जियोलोकेशन ऑब्जेक्ट एक सेवा ऑब्जेक्ट है जो विजेट को डिवाइस की भौगोलिक स्थिति के बारे में जानकारी प्राप्त करने की अनुमति देता है।

जियोलोकेशन के तरीके

जियोलोकेशन ऑब्जेक्ट निम्नलिखित तरीके प्रदान करता है -

अनु क्रमांक। विधि और विवरण
1 getCurrentPosition ()

यह विधि उपयोगकर्ता की वर्तमान भौगोलिक स्थिति को पुनः प्राप्त करती है।

2 watchPosition ()

यह विधि डिवाइस की वर्तमान भौगोलिक स्थिति के बारे में आवधिक अपडेट प्राप्त करती है।

3 clearWatch ()

यह विधि किसी चल रहे वॉचपॉइंट कॉल को रद्द कर देती है।

उदाहरण

उपरोक्त विधि का उपयोग करने के लिए एक नमूना कोड निम्नलिखित है -

function getLocation() {
   var geolocation = navigator.geolocation;
   geolocation.getCurrentPosition(showLocation, errorHandler);
}

यहाँ showLocation और errorHandler कॉलबैक विधियाँ हैं जिनका उपयोग वास्तविक स्थिति को प्राप्त करने के लिए किया जाएगा जैसा कि अगले भाग में बताया गया है और यदि कोई है तो त्रुटियों को संभालने के लिए।

स्थान के गुण

जियोलोकेशन तरीके getCurrentPosition () और getPositionUsingMethodName () स्थान जानकारी को पुनर्प्राप्त करने वाली कॉलबैक विधि को निर्दिष्ट करते हैं। इन विधियों को किसी वस्तु के साथ अतुल्यकालिक रूप से कहा जाता हैPosition जो संपूर्ण स्थान की जानकारी संग्रहीत करता है।

Positionऑब्जेक्ट डिवाइस के वर्तमान भौगोलिक स्थान को निर्दिष्ट करता है। शीर्षक और गति के बारे में जानकारी के साथ स्थान को भौगोलिक निर्देशांक के एक सेट के रूप में व्यक्त किया गया है।

निम्न तालिका स्थिति ऑब्जेक्ट के गुणों का वर्णन करती है। वैकल्पिक गुणों के लिए यदि सिस्टम एक मूल्य प्रदान नहीं कर सकता है, तो संपत्ति का मूल्य शून्य पर सेट है।

संपत्ति प्रकार विवरण
coords वस्तुओं डिवाइस की भौगोलिक स्थिति को निर्दिष्ट करता है। शीर्षक और गति के बारे में जानकारी के साथ स्थान को भौगोलिक निर्देशांक के एक सेट के रूप में व्यक्त किया गया है।
coords.latitude संख्या दशमलव डिग्री में अक्षांश अनुमान निर्दिष्ट करता है। मान श्रेणी [-90.00, +90.00] है।
coords.longitude संख्या दशमलव डिग्री में देशांतर अनुमान को निर्दिष्ट करता है। मान श्रेणी [-180.00, +180.00] है।
coords.altitude संख्या [वैकल्पिक] WGS 84 दीर्घवृत्त से ऊपर मीटर में ऊंचाई का अनुमान निर्दिष्ट करता है।
coords.accuracy संख्या [वैकल्पिक] मीटर में अक्षांश और देशांतर अनुमानों की सटीकता को निर्दिष्ट करता है।
coords.altitudeAccuracy संख्या [वैकल्पिक] मीटर में ऊंचाई के अनुमान की सटीकता को निर्दिष्ट करता है।
coords.heading संख्या [वैकल्पिक] सही उत्तर के सापेक्ष घड़ी की दिशा में डिग्री में आंदोलन की वर्तमान दिशा को निर्दिष्ट करता है।
coords.speed संख्या [वैकल्पिक] मीटर में डिवाइस की वर्तमान जमीन की गति प्रति सेकंड निर्दिष्ट करता है।
TIMESTAMP दिनांक उस समय को निर्दिष्ट करता है जब स्थान की जानकारी पुनर्प्राप्त की गई थी और स्थिति ऑब्जेक्ट बनाया गया था।

उदाहरण

निम्नलिखित एक नमूना कोड है जो स्थिति ऑब्जेक्ट का उपयोग करता है। यहाँ showLocation विधि एक कॉलबैक विधि है -

function showLocation( position ) {
   var latitude = position.coords.latitude;
   var longitude = position.coords.longitude;
   ...
}

त्रुटियों को संभालना

जियोलोकेशन जटिल है, और किसी भी त्रुटि को पकड़ने और इसे इनायत से संभालने के लिए बहुत आवश्यक है।

जियोलोकेशन तरीके getCurrentPosition () और वॉचपोजिशन () एक त्रुटि हैंडलर कॉलबैक विधि का उपयोग करते हैं जो देता है PositionErrorवस्तु। इस वस्तु के दो गुण हैं -

संपत्ति प्रकार विवरण
कोड संख्या त्रुटि के लिए एक संख्यात्मक कोड होता है।
संदेश तार इसमें त्रुटि का मानव-पठनीय वर्णन है।

निम्न तालिका स्थितिError ऑब्जेक्ट में दिए गए संभावित त्रुटि कोड का वर्णन करती है।

कोड स्थिर विवरण
0 अज्ञात त्रुटि अज्ञात त्रुटि के कारण उपकरण का स्थान पुनर्प्राप्त करने में विधि विफल रही।
1 अनुमति नहीं मिली उपकरण के स्थान को पुनः प्राप्त करने में विधि विफल रही क्योंकि एप्लिकेशन के पास स्थान सेवा का उपयोग करने की अनुमति नहीं है।
2 POSITION_UNAVAILABLE डिवाइस का स्थान निर्धारित नहीं किया जा सका।
3 समय समाप्त विधि निर्दिष्ट अधिकतम टाइमआउट अंतराल के भीतर स्थान की जानकारी को पुनः प्राप्त करने में असमर्थ थी।

उदाहरण

निम्नलिखित एक नमूना कोड है जो स्थितिError ऑब्जेक्ट का उपयोग करता है। यहाँ errorHandler विधि एक कॉलबैक विधि है -

function errorHandler( err ) {
   
   if (err.code == 1) {
      
      // access is denied
   }
   ...
}

स्थिति विकल्प

इसके बाद getCurrentPosition () विधि का वास्तविक सिंटैक्स है -

getCurrentPosition(callback, ErrorCallback, options)

यहाँ तीसरा तर्क है PositionOptions ऑब्जेक्ट जो डिवाइस के भौगोलिक स्थान को पुनर्प्राप्त करने के लिए विकल्पों का एक सेट निर्दिष्ट करता है।

निम्नलिखित विकल्प हैं जिन्हें तीसरे तर्क के रूप में निर्दिष्ट किया जा सकता है -

संपत्ति प्रकार विवरण
enableHighAccuracy बूलियन निर्दिष्ट करता है कि क्या विजेट संभव सबसे सटीक स्थान अनुमान प्राप्त करना चाहता है। डिफ़ॉल्ट रूप से यह गलत है।
समय समाप्त संख्या टाइमआउट प्रॉपर्टी मिलीसेकंड की संख्या है जो आपका वेब एप्लिकेशन किसी पद के लिए प्रतीक्षा करने के लिए तैयार है।
maximumAge संख्या कैश्ड स्थान की जानकारी के लिए मिलीसेकंड में समाप्ति समय निर्दिष्ट करता है।

उदाहरण

एक नमूना कोड निम्नलिखित है जो दिखाता है कि उपर्युक्त विधियों का उपयोग कैसे करें

function getLocation() {
   var geolocation = navigator.geolocation;
   geolocation.getCurrentPosition(showLocation, errorHandler, {maximumAge: 75000});
}