0

道順のGoogleマップAPIは、出発地と目的地の間の距離と時間を返します。Javaで時間と距離の値を比較する必要がある場合、どうすればよいでしょうか。例: 距離 1= 22km 距離 2= .98km 時間 1= 1 時間 2 分 時間 2 = 3 分

大きい方の時間と距離の文字列を比較する必要がある場合、どうすればよいでしょうか?

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

あなたはこれを間違ってタグ付けしました。これは、Java ではなく Javascript に関連しています。それらは同じ言語ではありません。

あなたの質問について。json に直接アクセスすることで、方向から値を取得できます。

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

OK チェックの直後にその行を入れると、作業を開始するのに役立ちます。

于 2013-03-01T09:39:20.070 に答える