۱۳۹۵/۰۲/۲۳, ۱۲:۵۳ ق.ظ
این یکی از دقیقترین متدهایی هستش که برای محاسبه فاصله دو نقطه از روی نقشه استفاده میشه
Google map v2
فقط کافیه مختصات دو نقطه رو از روی نقشه بدست بیارید و بهش بدید فاصله رو محاسبه میکنه
Google map v2
فقط کافیه مختصات دو نقطه رو از روی نقشه بدست بیارید و بهش بدید فاصله رو محاسبه میکنه
کد پیاچپی:
erfect.
public double CalculationByDistance(LatLng StartP, LatLng EndP) {
int Radius=6371;//radius of earth in Km
double lat1 = StartP.latitude;
double lat2 = EndP.latitude;
double lon1 = StartP.longitude;
double lon2 = EndP.longitude;
double dLat = Math.toRadians(lat2-lat1);
double dLon = Math.toRadians(lon2-lon1);
double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2);
double c = 2 * Math.asin(Math.sqrt(a));
double valueResult= Radius*c;
double km=valueResult/1;
DecimalFormat newFormat = new DecimalFormat("####");
int kmInDec = Integer.valueOf(newFormat.format(km));
double meter=valueResult%1000;
int meterInDec= Integer.valueOf(newFormat.format(meter));
Log.i("Radius Value",""+valueResult+" KM "+kmInDec+" Meter "+meterInDec);
return Radius * c;
}