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 回答