Puedes usar la fórmula del
haverseno.
Código:
<script>
function rad(x) {
return x * Math.PI / 180;
}
function getDistance(p1, p2) {
var R = 6378137; // radio de la tierra en metros
var dLat = rad(p2.lat - p1.lat);
var dLong = rad(p2.lng - p1.lng);
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(rad(p1.lat)) * Math.cos(rad(p2.lat)) *
Math.sin(dLong / 2) * Math.sin(dLong / 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var d = R * c;
return d; // distancia en metros
}
var p1={'lat':'-34.637127','lng':'-58.4652139'};
var p2={'lat':'-34.6278491','lng':'-58.4842894'};
var dist=getDistance(p1, p2);
alert((dist/1000).toFixed(2)+' Km.');
</script>