如何在路线查询中使用所有道路(包括公交专用道)

时间:2019-05-25 22:37:07

标签: java google-maps directions google-distancematrix-api

我正在尝试查询Google的方向和距离矩阵API,以尝试获取包含用于驾驶路线的公交专用道的结果。我正在尝试进行一项研究项目,该项目需要这种灵活性的布线。我目前正在使用Spring编写网络应用程序,因此我正在使用Java和Javascript API。

基本上,我想我想要的是能够将我的车辆指定为出租车,以便它可以使用正常的道路和公交专用道。不幸的是,我只能找到方向响应中的“车辆类型”属性,除非我可以在将坐标作为出租车时明确指定车辆,否则这对我没有好处。

我们非常感谢您的帮助。我也愿意使用不同的API,因此请向我推荐其他替代方法。

我已经尝试过通过Google API提供的公交方式和路线首选项的所有可能组合,但驾驶方向总是使用正常道路返回,与出租车或公交车相比,通常会绕道而行。

我在下面的Java中附加了一个简单的代码段,用于发出请求。以下是我要返回的图片:https://imgur.com/a/zAkkJ2A

DistanceMatrixApiRequest x = new DistanceMatrixApiRequest(context);

List<Waypoint> allWaypoints = wpDao.findAllByVehicleId(testVehicle.getId());
allWaypoints.sort(Comparator.comparingInt(Waypoint::getOrderInRoute));

LatLng[] waypointLatLngs = new LatLng[allWaypoints.size()];
for(int j = 0; j< allWaypoints.size(); j++) {
    waypointLatLngs[j] = (new LatLng(allWaypoints.get(j).getLatitude(), allWaypoints.get(j).getLongitude()));
}

org.joda.time.DateTime departureTime = new org.joda.time.DateTime(new Date().getTime());

DirectionsResult routeDirections = DirectionsApi.newRequest(context)
                        .origin(new LatLng(testVehicle.getCurrentLatitude(), testVehicle.getCurrentLongitude()))
                        .waypoints(waypointLatLngs)
                        .destination(new LatLng(waypointLatLngs[waypointLatLngs.length-1].lat, waypointLatLngs[waypointLatLngs.length-1].lng))
                        .await();
EncodedPolyline routePolyline = routeDirections.routes[0].overviewPolyline;

0 个答案:

没有答案