From 449c97a384ef13561e1ae3e223c932151f57d8c7 Mon Sep 17 00:00:00 2001 From: Ricky Barrette Date: Mon, 5 Mar 2012 10:49:45 -0500 Subject: [PATCH] Added method GeoUtils.distanceToString() I moved this method from FMC Change-Id: I61ff03c3e69a32cabb1999cb858b139990f2f835 Signed-off-by: Ricky Barrette --- LocationLib/bin/locationlib.jar | Bin 62975 -> 63405 bytes .../android/location/GeoUtils.java | 27 ++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/LocationLib/bin/locationlib.jar b/LocationLib/bin/locationlib.jar index c556d82f004577b606c4acbad7e041e5571f2c77..411510acdff1c239d14c59bb63f504600bfe098f 100644 GIT binary patch delta 4162 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 Jg`c5?{{!`-bXfoZ diff --git a/LocationLib/src/com/TwentyCodes/android/location/GeoUtils.java b/LocationLib/src/com/TwentyCodes/android/location/GeoUtils.java index 380fe7b..3388d74 100644 --- a/LocationLib/src/com/TwentyCodes/android/location/GeoUtils.java +++ b/LocationLib/src/com/TwentyCodes/android/location/GeoUtils.java @@ -20,6 +20,7 @@ */ package com.TwentyCodes.android.location; +import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; @@ -151,6 +152,32 @@ public class GeoUtils { return Math.acos(Math.sin(lat1Rad) * Math.sin(lat2Rad) + Math.cos(lat1Rad) * Math.cos(lat2Rad) * Math.cos(deltaLonRad)) * EARTH_RADIUS_KM; } + /** + * Converts distance into a human readbale string + * @param distance in kilometers + * @param returnMetric true if metric, false for US + * @return string distance + * @author ricky barrette + */ + public static String distanceToString(double distance, boolean returnMetric) { + DecimalFormat threeDForm = new DecimalFormat("#.###"); + DecimalFormat twoDForm = new DecimalFormat("#.##"); + + if (returnMetric) { + if (distance < 1) { + distance = distance * 1000; + return twoDForm.format(distance) + " m"; + } + return threeDForm.format(distance) + " Km"; + } + distance = distance / 1.609344; + if (distance < 1) { + distance = distance * 5280; + return twoDForm.format(distance) + " ft"; + } + return twoDForm.format(distance) + " mi"; + } + /** * a convince method for testing if 2 circles on the the surface of the earth intersect. * we will use this method to test if the users accuracy circle intersects a marked locaton's radius