कॉर्डोवा - जियोलोकेशन

डिवाइस के अक्षांश और देशांतर के बारे में जानकारी प्राप्त करने के लिए जियोलोकेशन का उपयोग किया जाता है।

चरण 1 - प्लगइन स्थापित करना

हम निम्न कोड टाइप करके इस प्लगइन को स्थापित कर सकते हैं command prompt खिड़की।

C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-geolocation

चरण 2 - बटन जोड़ें

इस ट्यूटोरियल में हम आपको दिखाएंगे कि वर्तमान स्थिति कैसे प्राप्त करें और परिवर्तनों को कैसे देखें। हमें पहले उन बटनों को बनाने की आवश्यकता है जो इन कार्यों को कॉल करेंगे।

<button id = "getPosition">CURRENT POSITION</button>
<button id = "watchPosition">WATCH POSITION</button>

चरण 3 - इवेंट श्रोताओं को जोड़ें

अब हम डिवाइस के तैयार होने पर ईवेंट श्रोताओं को जोड़ना चाहते हैं। हम नीचे दिए गए कोड नमूने को जोड़ देंगेonDeviceReady में कार्य करते हैं index.js

document.getElementById("getPosition").addEventListener("click", getPosition);
document.getElementById("watchPosition").addEventListener("click", watchPosition);

चरण 3 - कार्य बनाएँ

दो ईवेंट श्रोताओं के लिए दो कार्य बनाए जाने हैं। एक का उपयोग वर्तमान स्थिति को प्राप्त करने के लिए किया जाएगा और दूसरे को स्थिति को देखने के लिए।

function getPosition() {
   var options = {
      enableHighAccuracy: true,
      maximumAge: 3600000
   }
   var watchID = navigator.geolocation.getCurrentPosition(onSuccess, onError, options);

   function onSuccess(position) {
      alert('Latitude: '          + position.coords.latitude          + '\n' +
         'Longitude: '         + position.coords.longitude         + '\n' +
         'Altitude: '          + position.coords.altitude          + '\n' +
         'Accuracy: '          + position.coords.accuracy          + '\n' +
         'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '\n' +
         'Heading: '           + position.coords.heading           + '\n' +
         'Speed: '             + position.coords.speed             + '\n' +
         'Timestamp: '         + position.timestamp                + '\n');
   };

   function onError(error) {
      alert('code: '    + error.code    + '\n' + 'message: ' + error.message + '\n');
   }
}

function watchPosition() {
   var options = {
      maximumAge: 3600000,
      timeout: 3000,
      enableHighAccuracy: true,
   }
   var watchID = navigator.geolocation.watchPosition(onSuccess, onError, options);

   function onSuccess(position) {
      alert('Latitude: '          + position.coords.latitude          + '\n' +
         'Longitude: '         + position.coords.longitude         + '\n' +
         'Altitude: '          + position.coords.altitude          + '\n' +
         'Accuracy: '          + position.coords.accuracy          + '\n' +
         'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '\n' +
         'Heading: '           + position.coords.heading           + '\n' +
         'Speed: '             + position.coords.speed             + '\n' +
         'Timestamp: '         + position.timestamp                + '\n');
   };

   function onError(error) {
      alert('code: '    + error.code    + '\n' +'message: ' + error.message + '\n');
   }
}

ऊपर के उदाहरण में हम दो तरीकों का उपयोग कर रहे हैं - getCurrentPosition तथा watchPosition। दोनों कार्य तीन मापदंडों का उपयोग कर रहे हैं। एक बार हम क्लिक करेंCURRENT POSITION बटन, अलर्ट जियोलोकेशन मान दिखाएगा।

अगर हम क्लिक करें WATCH POSITIONबटन, हर तीन सेकंड में एक ही अलर्ट चालू हो जाएगा। इस तरह से हम उपयोगकर्ता के डिवाइस के आंदोलन परिवर्तनों को ट्रैक कर सकते हैं।

ध्यान दें

यह प्लगइन GPS का उपयोग कर रहा है। कभी-कभी यह समय पर मान नहीं लौटा सकता है और अनुरोध टाइमआउट त्रुटि लौटाएगा। यही कारण है कि हमने निर्दिष्ट कियाenableHighAccuracy: true तथा maximumAge: 3600000.इसका अर्थ है कि यदि कोई अनुरोध समय पर पूरा नहीं होता है, तो हम इसके बजाय अंतिम ज्ञात मूल्य का उपयोग करेंगे। हमारे उदाहरण में, हम अधिकतम 3600000 मिलीसेकेंड पर सेट कर रहे हैं।