calculer la distance entre deux points

$scope.getdistance = function(coords){
    //console.log( "getdistance:: " + coords );
    //convert D M.m -> D.d
    //36°48.184' N, 2°54.752' E

    var lat   = coords.split(',')[0];
    var long  = coords.split(',')[1];

    lat = lat.replace(/ /g,'');
    long = long.replace(/ /g,'');

    var Dlat = lat.split('°')[0];
    var dlat = lat.split('°')[1];
    dlat = dlat.split("'")[0];
    lat = parseInt(Dlat) + (dlat/60);
    //alert("lat final :" + lat);

    var Dlong = long.split('°')[0];
    var dlong = long.split('°')[1];
    dlong = dlong.split("'")[0];
    long = parseInt(Dlong) + (dlong/60);
    //alert("long final :" + long);

   

    var origin = new google.maps.LatLng(36.755344, 3.009160),
    destination = lat+", "+long,
    service = new google.maps.DistanceMatrixService();

    service.getDistanceMatrix(
        {
            origins: [origin],
            destinations: [destination],
            travelMode: google.maps.TravelMode.DRIVING,
            avoidHighways: false,
            avoidTolls: false
        },
        callback
    );

  }
  function callback(response, status) {
        //alert( JSON.stringify(response.rows[0].elements[0].status) );
        if(status=="OK") {
            var orig = response.destinationAddresses[0];
            //alert("orig " + orig);
            var dest = response.originAddresses[0];
            //alert("dest " + dest);
            var dist = response.rows[0].elements[0].distance.text;
            alert("distance est de : " + dist);
        } else {
            //alert("Error: " + status);
        }
 
  }

Enregistrer un commentaire

Plus récente Plus ancienne