我正在使用Google Distance Matrix API和Java。我想计算两个城市之间的火车距离。其中一个城市没有火车站。问题是,谷歌不只是计算火车距离。它总是增加从没有火车站的城市到火车站的下一个城市的车距。但对于我的项目,我只需要火车距离。
这是我的代码的一部分:
DistanceMatrix matrix = DistanceMatrixApi.newRequest(context)
.origins(origins)
.destinations(destinations)
.mode(TravelMode.TRANSIT)
.transitModes(TransitMode.TRAIN)
.units(Unit.METRIC)
.await();
在文档中,我无法找到解决此问题的方法。
答案 0 :(得分:0)
谷歌地图搜索算法旨在解决现实世界的交通路线,这意味着将火车送到乘客无法下车的位置是不可行的,因此不会反映在路线上。我想不出有任何办法从谷歌地图中提取这些信息,除了可能做直接的方向查询,但我怀疑它会有不同的结果,因为它使用(据我所知)所有的基本相同的算法服务。
使用诸如OpenStreetMap之类的数据库(使用像Overpass这样的免费无限API来通过Java中的HTTP访问)可能是最好的解决方案。如果你想快速修复,并且你能够识别没有火车站的城市,那么采用两个城市之间的线性距离可能会使用Geometry Library返回一个合理的(虽然缩小的)估算值。
很抱歉,我看不到解决方案,但这是我所拥有的最佳解决方案。