Google Distance Matrix API - 列车距离

时间:2015-08-08 21:20:49

标签: java google-maps

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

这是我的代码的一部分:

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

在文档中,我无法找到解决此问题的方法。

1 个答案:

答案 0 :(得分:0)

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

使用诸如OpenStreetMap之类的数据库(使用像Overpass这样的免费无限API来通过Java中的HTTP访问)可能是最好的解决方案。如果你想快速修复,并且你能够识别没有火车站的城市,那么采用两个城市之间的线性距离可能会使用Geometry Library返回一个合理的(虽然缩小的)估算值。

很抱歉,我看不到解决方案,但这是我所拥有的最佳解决方案。