Как добавить наложение полилинии к изображению stati c в Mapbox? - PullRequest
0 голосов
/ 16 февраля 2020

Я пытаюсь сохранить карту с маршрутом в виде изображения c. В настоящее время я могу сохранить карту как карту c с некоторыми аннотациями в качестве наложения, но не могу понять, как добавить маршрут к карте c.

Это это код, который у меня есть:

List<StaticMarkerAnnotation> markers = new ArrayList<>();
List<StaticPolylineAnnotation> polylines = new ArrayList<>();

markers.add(StaticMarkerAnnotation.builder().name(StaticMapCriteria.LARGE_PIN)
             .lnglat(Point.fromLngLat(pointList.getFirst().longitude(), pointList.getFirst().latitude()))
             .label("a")
             .build());

markers.add(StaticMarkerAnnotation.builder().name(StaticMapCriteria.LARGE_PIN)
             .lnglat(Point.fromLngLat(pointList.getLast().longitude(),pointList.getLast().latitude()))
             .label("b")
             .build());

polylines.add(StaticPolylineAnnotation.builder().polyline(currentRoute.geometry()).build()); // DirectionsRoute currentRoute

String staticImage = MapboxStaticMap.builder()
             .accessToken(getString(R.string.mapbox_access_token))
             .width(mapView.getMeasuredWidth())
             .height((int) (250*getResources().getDisplayMetrics().density))
             .retina(true)
             .cameraAuto(true)
             .staticMarkerAnnotations(markers)
             .staticPolylineAnnotations(polylines) // does not work!
             .build()
             .url()
             .toString();

Без .staticPolylineAnnotations (полилинии), который он успешно создает, создает изображение c stati (без маршрута). С .staticPolylineAnnotations (polylines), созданная строка staticImage приводит к {"message": "Широта должна быть между -85.0511-85.0511."}.

Я предполагаю, что я передаю свой currentRoute неправильно, но я не знаю правильный путь.

1 Ответ

0 голосов
/ 09 апреля 2020

Это сообщение об ошибке {"message": "Широта должна быть между -85.0511-85.0511."} Обычно появляется, когда у вас есть широта и долгота в обратном порядке. Стоит проверить ваши координаты на площадке API направления Mapbox , чтобы проверить их перед добавлением в реализацию.

Вы также можете исследовать, используя MapSnapshotter для Android, чтобы сохранить карту с маршрутом.

...