【发布时间】:2011-08-19 06:37:02
【问题描述】:
我使用纬度和经度计算了两个地方之间的距离。有时它显示错误的距离。我需要以英里为单位计算确切的距离。能否请你帮忙。我应该对我的代码进行哪些更改。 这是我的代码。 lat2 和 lng2 是我通过 NETWORK PROVIDER/GPS 获取的当前位置地理点。 lat1 和 lng2 是目标地理点
double earthRadius = 3958.75;//earthRadius in miles
// double earthRadius = 6371;
double dLat = Math.toRadians(lat1-lat2);
double dLng = Math.toRadians(lng1-lng2);
double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(Math.toRadians(lat2)) * Math.cos(Math.toRadians(lat1)) *
Math.sin(dLng/2) * Math.sin(dLng/2);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
double dist = earthRadius * c;//distance in miles
谢谢你..
【问题讨论】:
标签: android