I would like to get the latitude and longitude of current location from gps enabled mobile device right from the web browser. May I know is this possible? how to do it? does it require geolocation api? Some coding example would be helpful. Thanks.
Use the HTML5 Geolocation API, here's the official spec and examples.
EDIT
I've updated my answer to include current browser support.
W3C Geolocation API support
Firefox 3.5+
Safari 5.0+
Chrome 5.0+
Opera
iPhone 3.0+
Android 2.0+
· ·
Other phones not listed above use Gears or their own, platform-specific APIs.
- W3C geolocation API
- Gears
- BlackBerry geolocation API
- Nokia geolocation API
- Palm geolocation API
- OMTP BONDI geolocation API
Ahh, will we ever have just one single API? :)
Many thanks to Mark Pilgrim for his awesome post.
Here is an actual JavaScript code which uses HTML5 Geolocation API. The following works on both Android browser and iPhone Safari:
function onPositionUpdate(position)
{
var lat = position.coords.latitude;
var lng = position.coords.longitude;
alert("Current position: " + lat + " " + lng);
}
if(navigator.geolocation)
navigator.geolocation.getCurrentPosition(onPositionUpdate);
else
alert("navigator.geolocation is not available");
You don’t have to have the newest mobile phone to use GPS and Geolocation API. Almost every mobile browser (without proxy server) can be used to read position from buidin GPS. If You have Java and GPS in Your phone – You can use mobile-gps-web-gate – see at http://code.google.com/p/mobile-gps-web-gate/
can be helpful in future for someone
<!DOCTYPE html>
<html>
<body>
<p>Click the button to get your coordinates.</p>
<button onclick="getLocation()">Try It</button>
<p id="demo"></p>
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
var a = position.coords.latitude + ',' + position.coords.longitude;
alert(a);
}
</script>
</body>
</html>
© 2022 - 2024 — McMap. All rights reserved.