我正在尝试查询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;