From 930d0bc17ca91176603df7f350bbff71fed8c75d Mon Sep 17 00:00:00 2001 From: tobrun Date: Wed, 30 May 2018 12:16:04 +0200 Subject: [core] [android] - optional map snapshotter camera position --- platform/android/src/snapshotter/map_snapshotter.cpp | 7 ++++++- platform/default/mbgl/map/map_snapshotter.cpp | 11 +++++++---- platform/default/mbgl/map/map_snapshotter.hpp | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/platform/android/src/snapshotter/map_snapshotter.cpp b/platform/android/src/snapshotter/map_snapshotter.cpp index 8c064f5707..155fdf81fb 100644 --- a/platform/android/src/snapshotter/map_snapshotter.cpp +++ b/platform/android/src/snapshotter/map_snapshotter.cpp @@ -38,7 +38,12 @@ MapSnapshotter::MapSnapshotter(jni::JNIEnv& _env, jFileSource = FileSource::getNativePeer(_env, _jFileSource); auto& fileSource = mbgl::android::FileSource::getDefaultFileSource(_env, _jFileSource); auto size = mbgl::Size { static_cast(width), static_cast(height) }; - auto cameraOptions = position ? CameraPosition::getCameraOptions(_env, position) : CameraOptions(); + + optional cameraOptions; + if (position) { + cameraOptions = CameraPosition::getCameraOptions(_env, position); + } + optional bounds; if (region) { bounds = LatLngBounds::getLatLngBounds(_env, region); diff --git a/platform/default/mbgl/map/map_snapshotter.cpp b/platform/default/mbgl/map/map_snapshotter.cpp index 39f96d7210..a909e3fe9b 100644 --- a/platform/default/mbgl/map/map_snapshotter.cpp +++ b/platform/default/mbgl/map/map_snapshotter.cpp @@ -18,7 +18,7 @@ public: const std::pair style, const Size&, const float pixelRatio, - const CameraOptions&, + const optional cameraOptions, const optional region, const optional programCacheDir); @@ -49,7 +49,7 @@ MapSnapshotter::Impl::Impl(FileSource& fileSource, const std::pair style, const Size& size, const float pixelRatio, - const CameraOptions& cameraOptions, + const optional cameraOptions, const optional region, const optional programCacheDir) : frontend(size, pixelRatio, fileSource, scheduler, programCacheDir) @@ -60,7 +60,10 @@ MapSnapshotter::Impl::Impl(FileSource& fileSource, } else{ map.getStyle().loadURL(style.second); } - map.jumpTo(cameraOptions); + + if (cameraOptions) { + map.jumpTo(*cameraOptions); + } // Set region, if specified if (region) { @@ -151,7 +154,7 @@ MapSnapshotter::MapSnapshotter(FileSource& fileSource, const std::pair style, const Size& size, const float pixelRatio, - const CameraOptions& cameraOptions, + const optional cameraOptions, const optional region, const optional programCacheDir) : impl(std::make_unique>("Map Snapshotter", fileSource, scheduler, style, size, pixelRatio, cameraOptions, region, programCacheDir)) { diff --git a/platform/default/mbgl/map/map_snapshotter.hpp b/platform/default/mbgl/map/map_snapshotter.hpp index e0363a7b38..b9e6307664 100644 --- a/platform/default/mbgl/map/map_snapshotter.hpp +++ b/platform/default/mbgl/map/map_snapshotter.hpp @@ -30,7 +30,7 @@ public: const std::pair style, const Size&, const float pixelRatio, - const CameraOptions&, + const optional cameraOptions, const optional region, const optional cacheDir = {}); -- cgit v1.2.1