根据坐标计算两点之间距离

public class LocationDistance
{
	private static double EARTH_RADIUS = 6378137;

	private static double rad(double d)
	{
		return d * Math.PI / 180.0;
	}
	/**
	 * @方法名: GetDistance
	 * @包名:com.goboo.location.util
	 * @功能说明:
	 * @param lat1
	 * @param lng1
	 * @param lat2
	 * @param lng2
	 * @return 精确到m
	 * @version: 1.0 2012-11-8
	 */
	public static int GetDistance(double lat1, double lng1, double lat2, double lng2)
	{
		double radLat1 = rad(lat1);
		double radLat2 = rad(lat2);
		double a = radLat1 - radLat2;
		double b = rad(lng1) - rad(lng2);
		double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1)
				* Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
		s = s * EARTH_RADIUS;
		s = Math.round(s * 10000) / 10000;
		return (int)s;
	}
}

你可能感兴趣的:(根据坐标计算两点之间距离)