Java 如何返回“中的距离”;Km“;使用谷歌距离矩阵API?

Java 如何返回“中的距离”;Km“;使用谷歌距离矩阵API?,java,api,google-maps,google-distancematrix-api,Java,Api,Google Maps,Google Distancematrix Api,我正在使用Google的Java距离矩阵API。 我有正常工作的代码,但我希望它返回两个经纬度点(起点,终点)之间的距离,单位为公里。但是没有这样的方法或参数,它需要以公里为单位的返回距离但是,如果距离值大于或等于1km,则返回以km为单位的距离。但是我希望它返回的距离总是以公里为单位(例如0.5公里)但是当距离小于1公里时,它总是以米为单位返回距离。我也尝试使用Unit.METRIC,但它没有用,因为它仍然只返回米数的距离 DistanceMatrix results = DistanceM

我正在使用Google的Java距离矩阵API。 我有正常工作的代码,但我希望它返回两个经纬度点(起点,终点)之间的距离,单位为公里。但是没有这样的方法或参数,它需要以公里为单位的返回距离但是,如果距离值大于或等于1km,则返回以km为单位的距离。但是我希望它返回的距离总是以公里为单位(例如0.5公里)但是当距离小于1公里时,它总是以米为单位返回距离。我也尝试使用
Unit.METRIC
,但它没有用,因为它仍然只返回米数的距离

DistanceMatrix results =  DistanceMatrixApi.getDistanceMatrix(context, 
                    new String[] {origins}, new String[] {destinations}).units(Unit.METRIC).await();

results.rows[0].elements[0].distance //returns in meters, i want it in kms.

在阅读了关于距离矩阵api的google文档后,我最终得出结论,距离字段将包含始终以米为单位表示的“值”。因此该值需要除以1000才能得到以“Kms”为单位的值。

,只需添加
单位
参数:

https://maps.googleapis.com/maps/api/distancematrix/json?units=metric

https://maps.googleapis.com/maps/api/distancematrix/json?units=metric
除以1000还不够好吗?不,因为我看到了一些结果,并且在谷歌的距离矩阵api文档中,它们返回了“Kms”示例链接中的距离值:[link][因此,如果API有时返回以Kms为单位的距离,并且我按照您的建议将其除以或乘以任何数字(比如1000),那么一切都会出错。我发现这不是解决方案。文档中说“此单位系统设置仅影响距离字段中显示的文本。距离字段还包含始终以米为单位表示的值。”理解。感谢当距离为1米时返回值0时,情况似乎不再如此