खोज…
वाक्य - विन्यास
- navigator.geolocation.getCurrentPosition ( उत्तराधिकार , असफलता , असफलता )
- navigator.geolocation.watchPosition ( updateFunc , failureFunc )
- navigator.geolocation.clearWatch ( watchId )
टिप्पणियों
जियोलोकेशन एपीआई वह करता है जो आप उम्मीद कर सकते हैं: अक्षांश और देशांतर में प्रतिनिधित्व किए गए ग्राहक के ठिकाने के बारे में जानकारी प्राप्त करें। हालाँकि, यह उपयोगकर्ता पर निर्भर है कि वे अपना स्थान देने के लिए सहमत हों।
यह API W3C जियोलोकेशन API स्पेसिफिकेशन में परिभाषित किया गया है। नागरिक पते प्राप्त करने और घटनाओं की जियोफेंसिंग / ट्रिगरिंग को सक्षम करने के लिए सुविधाओं का पता लगाया गया है, लेकिन व्यापक रूप से लागू नहीं किया गया है।
यह जाँचने के लिए कि क्या ब्राउज़र जियोलोकेशन एपीआई का समर्थन करता है:
if(navigator.geolocation){
// Horray! Support!
} else {
// No support...
}
उपयोगकर्ता के अक्षांश और देशांतर प्राप्त करें
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationFailure);
} else {
console.log("Geolocation is not supported by this browser.");
}
// Function that will be called if the query succeeds
var geolocationSuccess = function(pos) {
console.log("Your location is " + pos.coords.latitude + "°, " + pos.coords.longitude + "°.");
};
// Function that will be called if the query fails
var geolocationFailure = function(err) {
console.log("ERROR (" + err.code + "): " + err.message);
};
अधिक वर्णनात्मक त्रुटि कोड
इस घटना में कि जियोलोकेशन विफल हो जाता है, आपके कॉलबैक फ़ंक्शन को एक PositionError
ऑब्जेक्ट प्राप्त होगा। ऑब्जेक्ट में एक विशेषता नाम code
शामिल होगा जिसमें 1
, 2
, या 3
का मान होगा। इनमें से प्रत्येक संख्या एक अलग तरह की त्रुटि का प्रतीक है; नीचे getErrorCode()
फ़ंक्शन PositionError.code
getErrorCode()
को अपने एकमात्र तर्क के रूप में लेता है और त्रुटि के नाम के साथ एक स्ट्रिंग देता है।
var getErrorCode = function(err) {
switch (err.code) {
case err.PERMISSION_DENIED:
return "PERMISSION_DENIED";
case err.POSITION_UNAVAILABLE:
return "POSITION_UNAVAILABLE";
case err.TIMEOUT:
return "TIMEOUT";
default:
return "UNKNOWN_ERROR";
}
};
इसका उपयोग geolocationFailure()
में किया जा सकता है:
var geolocationFailure = function(err) {
console.log("ERROR (" + getErrorCode(err) + "): " + err.message);
};
जब उपयोगकर्ता का स्थान बदलता है तो अपडेट प्राप्त करें
आप उपयोगकर्ता के स्थान के नियमित अपडेट भी प्राप्त कर सकते हैं; उदाहरण के लिए, जैसे कि वे मोबाइल डिवाइस का उपयोग करते समय घूमते हैं। समय के साथ स्थान की ट्रैकिंग बहुत संवेदनशील हो सकती है, इसलिए उपयोगकर्ता को समय से पहले समझाना सुनिश्चित करें कि आप इस अनुमति का अनुरोध क्यों कर रहे हैं और आप डेटा का उपयोग कैसे करेंगे।
if (navigator.geolocation) {
//after the user indicates that they want to turn on continuous location-tracking
var watchId = navigator.geolocation.watchPosition(updateLocation, geolocationFailure);
} else {
console.log("Geolocation is not supported by this browser.");
}
var updateLocation = function(position) {
console.log("New position at: " + position.coords.latitude + ", " + position.coords.longitude);
};
निरंतर अपडेट बंद करने के लिए:
navigator.geolocation.clearWatch(watchId);