1

以下のメソッドは 0 を返し続けますが、その理由がわかりません! 助けてください!

    currentLocation.setLatitude(38.03211);
    currentLocation.setLongitude(-78.51002);

loc が 38.03161、-78.51075、

public double getDistance(HistoricalLocation loc) {

    return (double) Math.abs(Math.sqrt((currentLocation.getLatitude() - loc
            .getLatitude())
            * (currentLocation.getLatitude() - loc.getLatitude())
            + (currentLocation.getLongitude() - loc.getLongitude())
            * (currentLocation.getLongitude() - loc.getLongitude())));

}
4

1 に答える 1

1

その逆ではなく、絶対値の平方根を取ります。おそらく NaN が発生し、ゼロまたはそのような値に設定されているだけです。

(これで直りました)

于 2013-04-20T03:46:20.500 に答える