is there a way to retrieve a latitude & longitude of the user using Bing Maps API or Google Maps API. I think I saw an code snippet where a \"autolocate me\" feature was
Getting your location isn't part of the Map API. Instead, use the HTML5 GeoLocation API to get your location. An example would be:
navigator.geolocation.getCurrentPosition(locationHandler);
function locationHandler(position)
{
var lat = position.coords.latitude;
var lng = position.coords.longitude;
}
For calculating distance between lat/lng points, have a look at http://www.movable-type.co.uk/scripts/latlong.html.
// Latitude/longitude spherical geodesy formulae & scripts (c) Chris Veness 2002-2011 - www.movable-type.co.uk/scripts/latlong.html
// where R is earth’s radius (mean radius = 6,371km);
// note that angles need to be in radians to pass to trig functions!
var R = 6371; // km
var dLat = (lat2-lat1).toRad();
var dLon = (lon2-lon1).toRad();
var lat1 = lat1.toRad();
var lat2 = lat2.toRad();
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
HTML5 GeoLocation get lat and long of current location. http://www.w3schools.com/html/html5_geolocation.asp
<!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button to get your coordinates:</p>
<button onclick="getLocation()">Try It</button>
<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) {
x.innerHTML="Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
</body>
</html>