Java 谷歌距离矩阵API-列车距离

Java 谷歌距离矩阵API-列车距离,java,google-maps,Java,Google Maps,我将Google距离矩阵API与Java一起使用。我想计算两个城市之间的火车距离。其中一个城市没有火车站。问题是,谷歌不只是计算火车距离。它总是增加从没有火车站的城市到下一个有火车站的城市的汽车距离。但对于我的项目,我只需要火车的距离 这是我代码的一部分: DistanceMatrix matrix = DistanceMatrixApi.newRequest(context) .origins(origins) .destinations(destination

我将Google距离矩阵API与Java一起使用。我想计算两个城市之间的火车距离。其中一个城市没有火车站。问题是,谷歌不只是计算火车距离。它总是增加从没有火车站的城市到下一个有火车站的城市的汽车距离。但对于我的项目,我只需要火车的距离

这是我代码的一部分:

DistanceMatrix matrix = DistanceMatrixApi.newRequest(context)
        .origins(origins)
        .destinations(destinations)
        .mode(TravelMode.TRANSIT)
        .transitModes(TransitMode.TRAIN)
        .units(Unit.METRIC)
        .await(); 

在文档中,我找不到这个问题的解决方案。

谷歌地图搜索算法是为解决现实世界的交通路线而设计的,这意味着将火车送到乘客无法下车的地方是不可行的,因此不会反映在路线中。我想不出任何方法从谷歌地图中提取这些信息,除非可能进行直接的方向查询,尽管我怀疑它会有不同的结果,因为它对所有服务都使用了(据我所知)基本相同的算法

使用像OpenStreetMap这样的数据库(使用像Java中通过HTTP访问的免费、无限的API)可能是最好的解决方案。如果您需要快速修复,并且能够识别没有火车站的城市,那么使用以下公式计算两个城市之间的线性距离可能会返回一个合理的(尽管缩小了)估计值


很抱歉,我找不到解决方案,但这是我最好的解决方案。

谢谢您的努力!但我想我解释得不够好。当我从a点(有火车站的城市)向B点(没有火车站的城市)发送请求时,google总是将a点到最近的B点(有火车站的城市)的火车距离合并在一起。从最近的B点城市开始,谷歌计算汽车到B点的距离(火车无法到达)。因此,我得到了汽车距离和火车距离的汇总。但对于我的项目,我只需要从A点到B点最近的城市的火车距离,那里有一个火车站,这就是我所设想的情况。如何改进我的答案或回答我的问题?我不认为谷歌地图可以做到这一点;OpenStreetMap是获取铁路数据时首先想到的东西,创建一个查询将非常困难。