API Types
📍 Geolocation API — Location Pata Karo
navigator.geolocation.getCurrentPosition()
Geolocation API user ki GPS coordinates deta hai — latitude, longitude, aur accuracy. Jaise Ola ke "Share location" button pe — map pe pin milta hai. Browser pehle permission mangta hai.
Teen methods: getCurrentPosition() ek baar location leta hai, watchPosition() continuously track karta hai (live tracking), aur clearWatch() tracking band karta hai. Callback mein Position object aata hai with coords.latitude, coords.longitude, aur coords.accuracy meters mein.
Ola Analogy: Ola pe tap karo "Share location" — GPS chalta hai, coordinates milte hain, map pe pin dikhta hai. Geolocation API exactly yahi karta hai — browser GPS se coordinates leta hai, tum map pe dikhate ho.
Code Example
HTML — Geolocation API — Location Pata Karo
<!-- Simple: ek baar location lo -->
<button onclick="getLocation()">📍 Meri Location Lo</button>
<p id="result"></p>
<script>
function getLocation() {
// Step 1: Support check karo
if (!("geolocation" in navigator)) {
document.getElementById("result").textContent =
"Browser geolocation support nahi karta.";
return;
}
// Step 2: API call karo
navigator.geolocation.getCurrentPosition(
// Success callback
(position) => {
const lat = position.coords.latitude;
const lng = position.coords.longitude;
const acc = position.coords.accuracy;
document.getElementById("result").innerHTML =
`Latitude: ${lat}<br>
Longitude: ${lng}<br>
Accuracy: ${Math.round(acc)}m<br>
<a href="https://maps.google.com/?q=${lat},${lng}" target="_blank">
📍 Google Maps Mein Kholo
</a>`;
},
// Error callback
(error) => {
const messages = {
1: "Permission denied. Location access enable karo.",
2: "Position unavailable. GPS signal weak hai.",
3: "Request timeout. Dobara try karo."
};
document.getElementById("result").textContent =
messages[error.code] || "Unknown error.";
},
// Options
{
enableHighAccuracy: true,
timeout: 10000,
maximumAge: 0
}
);
}
</script>
<!-- Continuous tracking (live tracking) -->
<script>
let watchId;
function startTracking() {
watchId = navigator.geolocation.watchPosition(
(pos) => {
console.log(`Lat: ${pos.coords.latitude}, Lng: ${pos.coords.longitude}`);
},
(err) => console.error(err),
{ enableHighAccuracy: true }
);
}
function stopTracking() {
navigator.geolocation.clearWatch(watchId);
}
</script>"geolocation" in navigatorBrowser support check karo PEHLE call karne segetCurrentPosition()Ek baar location lo — Position object return karta haiwatchPosition()Continuously track karo — watch ID return karta haiclearWatch(id)Continuous tracking band karocoords.latitudeLatitude value (Hyderabad ke liye 17.3850)coords.longitudeLongitude value (Hyderabad ke liye 78.4867)coords.accuracyAccuracy meters mein — kam zyada achhierror.code 1PERMISSION_DENIED — user ne mana kiyaerror.code 2POSITION_UNAVAILABLE — GPS weak/signal kho gayaerror.code 3TIMEOUT — bahut time laga GPS lock karne meinenableHighAccuracy: trueGPS use karo Wi-Fi/IP ki jagah (zyada accurate, zyada battery)timeout: 1000010 second ke baad give up karomaximumAge: 0Cached position mat use karo — hamesha fresh lo✅ When to Use
- Map pe user location dikhana
- "Find near me" features — stores, restaurants
- Weather apps — location-based weather
- Delivery apps — auto-detect delivery address
- Live tracking — cab, delivery, friends
❌ When NOT to Use
- Jab exact location nahi chahiye (IP-based simpler hai, no permission)
- HTTP websites pe (geolocation ko HTTPS chahiye)
- Users ko bina unki marzi track karne ke liye (illegal + unethical)
Geolocation SIRF HTTPS ya localhost pe kaam karta hai. Agar http:// pe develop kar rahe ho — silently fail hoga ya error dega. Hamesha localhost pe test karo ya HTTPS ke saath. Aur first call slow hoti hai (GPS cold start) — loading indicator dikhao.