summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobrun <tobrun.van.nuland@gmail.com>2018-05-30 12:16:04 +0200
committertobrun <tobrun.van.nuland@gmail.com>2018-05-30 12:16:04 +0200
commit5f105ddcb8cfa1611588a3744a30e03ecd57dccb (patch)
treef20c08578651dc5f43448213b8a1a9905980d15e
parent83ebd5f6ff56fddd4a2923f6c082977476cddd99 (diff)
downloadqtlocation-mapboxgl-upstream/tvn-snapshotter-initial-camera.tar.gz
[core] [android] - optional map snapshotter camera positionupstream/tvn-snapshotter-initial-camera
-rw-r--r--platform/android/src/snapshotter/map_snapshotter.cpp7
-rw-r--r--platform/default/mbgl/map/map_snapshotter.cpp11
-rw-r--r--platform/default/mbgl/map/map_snapshotter.hpp2
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 ca1307dd16..876cf09e16 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<uint32_t>(width), static_cast<uint32_t>(height) };
- auto cameraOptions = position ? CameraPosition::getCameraOptions(_env, position) : CameraOptions();
+
+ optional<mbgl::CameraOptions> cameraOptions;
+ if (position) {
+ cameraOptions = CameraPosition::getCameraOptions(_env, position);
+ }
+
optional<mbgl::LatLngBounds> 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 da3a250e0f..6f1bf33617 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<bool, std::string> style,
const Size&,
const float pixelRatio,
- const CameraOptions&,
+ const optional<CameraOptions> cameraOptions,
const optional<LatLngBounds> region,
const optional<std::string> programCacheDir);
@@ -46,7 +46,7 @@ MapSnapshotter::Impl::Impl(FileSource& fileSource,
const std::pair<bool, std::string> style,
const Size& size,
const float pixelRatio,
- const CameraOptions& cameraOptions,
+ const optional<CameraOptions> cameraOptions,
const optional<LatLngBounds> region,
const optional<std::string> programCacheDir)
: frontend(size, pixelRatio, fileSource, scheduler, programCacheDir)
@@ -57,7 +57,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) {
@@ -140,7 +143,7 @@ MapSnapshotter::MapSnapshotter(FileSource& fileSource,
const std::pair<bool, std::string> style,
const Size& size,
const float pixelRatio,
- const CameraOptions& cameraOptions,
+ const optional<CameraOptions> cameraOptions,
const optional<LatLngBounds> region,
const optional<std::string> programCacheDir)
: impl(std::make_unique<util::Thread<MapSnapshotter::Impl>>("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 a71da121c0..d7bc4e2fbb 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<bool, std::string> style,
const Size&,
const float pixelRatio,
- const CameraOptions&,
+ const optional<CameraOptions> cameraOptions,
const optional<LatLngBounds> region,
const optional<std::string> cacheDir = {});