【发布时间】:2018-11-22 07:50:41
【问题描述】:
我需要计算 2 个(点)纬度和经度之间的距离,一个点在数组中,另一个作为参数发送。计算出的距离应该存储在另一个数组中,以便我可以计算数组中的最小距离。问题是无法将计算出的距离存储到数组中,所以请帮帮我。
@Override
public MinimumDistanceModel getMinimumDistance(double latitude, double longitude) throws Exception {
try {
double lon1 = longitude;
double lat1 = latitude;
List<MinimumDistanceDomain> minDistDomain = minimumDistanceDAO.getFranchiseDetails();
for(MinimumDistanceDomain minimumDistanceDomain : minDistDomain) {
double lat2 = minimumDistanceDomain.getLatitude();
double lon2 = minimumDistanceDomain.getLongitude();
MinimumDistanceModel minimumDistanceModel = new MinimumDistanceModel();
minimumDistanceModel.setDistance1(CommonUtils.distance(lat1, lat2, lon1, lon2));
System.out.println(minimumDistanceModel.getDistance1());
Double distance = minimumDistanceModel.getDistance1();
}
} catch (Exception e) {
logger.info("Exception getMinimumDistance in DistanceServiceImpl" + e.getMessage());
}
return null;
}
`
上述代码的结果:它只是打印这两个点之间的距离,我如何在数组中返回这些距离
【问题讨论】:
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误和必要的最短代码 重现它在问题本身。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example。
-
为什么需要将东西存储在数组中来计算最小值?只需将您目前看到的最小值保留在变量中即可。
-
@JoeC 我用当前行为更新了问题
-
@AndyTurner 如何保持最小值而不将其存储到数组中
-
就像安迪提到的,你将它存储在一个变量中,就像你在 lon1 和 lat1 中存储值一样