0

Since the directions google map api returns the drivind distance and time between origin and destinations. Now If I have to compare the time and distance value in java ,how can we do it. eg : Distance1= 22km Distance2= .98km Time1= 1hour 2 min Time2 = 3 min

Now if I have to compare the time and distance string which is greater ,how we can do it?

4

2 回答 2

0

您需要将这些值转换为数字,例如距离的公里数和时间的分钟数 - 例如 22 和 0.98,分别。62 和 3 为您的示例。然后你可以简单地比较数字。

我不知道 api 是否总是以公里和小时/分钟为单位返回值,你应该确保这一点,然后“简单地”解析你得到的值。对于距离,这将是这样的:

double distance1 = Double.valueOf("22km".replace("km,""));
double distance2 = Double.valueOf(".98km".replace("km,""));
if (distance1 < distance2) {
    System.out.println("distance1 is smaller");
} else if (distance2 < distance1) {
   System.out.println("distance2 is smaller");
} else {
   System.put.println("both distances are the same.");
}

对于时间部分,解析会稍微复杂一些。

是的,我知道您可以使用正则表达式更优雅地做到这一点,但我不得不尝试让它们正确,所以我采用了简单的方法。

于 2013-03-01T09:49:43.727 回答
0

您错误地标记了这个。这与 Javascript 而不是 Java 有关。它们“不”是同一种语言。

至于你的问题。您可以通过直接访问 json 从方向检索值。

alert(JSON.stringify(response['routes'][0]));

在您的 OK 检查之后直接放置的那条线应该可以帮助您入门。

于 2013-03-01T09:39:20.070 回答