Я использовал MapSnapshotter для захвата растрового изображения карты. Однако я мог получить только изображение базовой карты, но не нарисованные над ней полилинии, которые являются текущим маршрутом пользователя и имеют решающее значение для моего проекта. Есть ли способ сделать снимок карты вместе с полилиниями?
Я использовал LineManager для рисования полилиний.
Код ниже:
startSnapShot(mapboxMap.getProjection().getVisibleRegion().latLngBounds,
mapView.getMeasuredHeight(),
mapView.getMeasuredWidth());
--------------
private void startSnapShot(LatLngBounds latLngBounds, int height, int width) {
mapboxMap.getStyle(style -> {
if (mapSnapshotter == null) {
// Initialize snapshotter with map dimensions and given bounds
MapSnapshotter.Options options =
new MapSnapshotter.Options(width, height)
.withCameraPosition(mapboxMap.getCameraPosition())
.withStyle(style.getUri())
.withRegion(latLngBounds);
mapSnapshotter = new MapSnapshotter(RunTracker.this, options);
} else {
// Reuse pre-existing MapSnapshotter instance
mapSnapshotter.setSize(width, height);
mapSnapshotter.setRegion(latLngBounds);
}
mapSnapshotter.start(snapshot -> passBitmap(snapshot.getBitmap()));
});
}