Travel Distance between two Lat and Long

前端 未结 3 472
故里飘歌
故里飘歌 2021-02-06 05:34

I am looking to calculate and give the distance between two sets of Lat and Long for travel on Road.

I have had a look at the Google\'s Directions and Distance Matrix A

3条回答
  •  夕颜
    夕颜 (楼主)
    2021-02-06 06:15

    It give the distance between two locations.

    First you need to get latitude, longitude of source and same for destination. Pass these in this method.

    It return you distance between them.

    public float distanceFrom(float lat1, float lng1, float lat2, float lng2) {
        double earthRadius = 3958.75;
        double dLat = Math.toRadians(lat2-lat1);
        double dLng = Math.toRadians(lng2-lng1);
        double a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.sin(dLng/2) * Math.sin(dLng/2);
        double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
        double dist = earthRadius * c;
        int meterConversion = 1609;
        return new Float(dist * meterConversion).floatValue();
    }
    

提交回复
热议问题