我正在使用 mapbox API ,并希望通过List<Point>
获取从 A 到 B 的路线,我可以使用该路线来在地图上绘制正确的路径。但是问题是DirectionsResponse
返回的积分不足,请参阅
位于水面上的管线的一部分。
也许在MapboxDirections
类中,或者另外一个具有step
方法(带有meter参数),每10m可获得Point
。
这是我当前的代码:
MapboxDirections directions = MapboxDirections.builder()
.accessToken(ACCESS_TOKEN)
.profile(PROFILE_DRIVING)
// Brooklyn, NY, USA
.origin(Point.fromLngLat(-73.947803, 40.677790))
// Upper West Side, NY, USA
.destination(Point.fromLngLat(-73.971609, 40.784246))
.build();
Response<DirectionsResponse> response = directions.executeCall();
DirectionsResponse directionsResponse = response.body();
for (DirectionsRoute route : directionsResponse.routes()) {
List<Point> decode = PolylineUtils.decode(route.geometry(), PRECISION_6);
// I need here more points
for (Point point : decode) {
System.out.println(point.latitude() + ", " + point.longitude());
}
}
答案 0 :(得分:1)
尝试添加.overview(DirectionsCriteria.OVERVIEW_FULL)
以获取所有积分like in this example
您的代码应如下所示:
MapboxDirections directions = MapboxDirections.builder()
.accessToken(ACCESS_TOKEN)
.profile(PROFILE_DRIVING)
.overview(DirectionsCriteria.OVERVIEW_FULL) /** New line **/
// Brooklyn, NY, USA
.origin(Point.fromLngLat(-73.947803, 40.677790))
// Upper West Side, NY, USA
.destination(Point.fromLngLat(-73.971609, 40.784246))
.build();