get Distance In Kilometer between two point on earth - Android Map

Android examples for Map:Location Distance

Description

get Distance In Kilometer between two point on earth

Demo Code


//package com.java2s;

public class Main {
    public static Double getDistanceInKm(Double latitudP1,
            Double longitudP1, Double latitudP2, Double longitudP2) {

        Double distanceInMeters = getDistanceInMeters(latitudP1,
                longitudP1, latitudP2, longitudP2);
        distanceInMeters = distanceInMeters / 1000;

        return distanceInMeters;
    }//ww  w  .j  a  va2 s .c  om

    /**
     * Calc distance in Meters between 2 points
     *
     * @param longitudP1
     * @param latitudP1
     * @param longitudP2
     * @param latitudP2
     * @return
     */
    public static Double getDistanceInMeters(Double latitudP1,
            Double longitudP1, Double latitudP2, Double longitudP2) {

        Double lats = Double.valueOf(latitudP1.doubleValue()
                - latitudP2.doubleValue());
        Double lngs = Double.valueOf(longitudP1.doubleValue()
                - longitudP2.doubleValue());

        Double latitudMeters = Double
                .valueOf(lats.doubleValue() * 60.0D * 1852.0D);
        Double longitudMeters = Double
                .valueOf(lngs.doubleValue()
                        * Math.cos(latitudP1.doubleValue() * 3.141592653589793D / 180.0D)
                        * 60.0D * 1852.0D);
        Double distInMeters = Double.valueOf(Math.sqrt(Math.pow(
                latitudMeters.doubleValue(), 2.0D)
                + Math.pow(longitudMeters.doubleValue(), 2.0D)));

        return distInMeters;
    }
}

Related Tutorials