summaryrefslogtreecommitdiff
path: root/platform/android/src
diff options
context:
space:
mode:
authorLarry Geromegnace <larry.geromegnace@mappy.com>2016-01-22 11:49:19 +0100
committerBrad Leege <bleege@gmail.com>2016-01-27 10:57:38 -0600
commitc114ed6562242c1549a96d5a79b9aed229ba48aa (patch)
treed94b0ad56c88bfe6d9eba24a134a18c03a9f2eb7 /platform/android/src
parent0d3af143756381fe5a96336fb5882a26301302ca (diff)
downloadqtlocation-mapboxgl-c114ed6562242c1549a96d5a79b9aed229ba48aa.tar.gz
[android] Add API to be able to set insets on MapView.
Diffstat (limited to 'platform/android/src')
-rwxr-xr-x[-rw-r--r--]platform/android/src/jni.cpp15
-rwxr-xr-x[-rw-r--r--]platform/android/src/native_map_view.cpp4
-rwxr-xr-x[-rw-r--r--]platform/android/src/native_map_view.hpp3
3 files changed, 21 insertions, 1 deletions
diff --git a/platform/android/src/jni.cpp b/platform/android/src/jni.cpp
index cd013e4519..a6fff62bb0 100644..100755
--- a/platform/android/src/jni.cpp
+++ b/platform/android/src/jni.cpp
@@ -648,7 +648,7 @@ void JNICALL nativeSetLatLng(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, j
return;
}
- nativeMapView->getMap().setLatLng(mbgl::LatLng(latitude, longitude), mbgl::Duration(duration));
+ nativeMapView->getMap().setLatLng(mbgl::LatLng(latitude, longitude), nativeMapView->getInsets(), mbgl::Duration(duration));
}
jobject JNICALL nativeGetLatLng(JNIEnv *env, jobject obj, jlong nativeMapViewPtr) {
@@ -1505,6 +1505,7 @@ void JNICALL nativeJumpTo(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, jdou
options.angle = angle;
}
options.center = mbgl::LatLng(latitude, longitude);
+ options.padding = nativeMapView->getInsets();
if (pitch != -1) {
options.pitch = pitch;
}
@@ -1537,6 +1538,7 @@ void JNICALL nativeEaseTo(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, jdou
cameraOptions.angle = angle;
}
cameraOptions.center = mbgl::LatLng(latitude, longitude);
+ cameraOptions.padding = nativeMapView->getInsets();
if (pitch != -1) {
cameraOptions.pitch = pitch;
}
@@ -1549,6 +1551,14 @@ void JNICALL nativeEaseTo(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, jdou
nativeMapView->getMap().easeTo(cameraOptions, animationOptions);
}
+void JNICALL nativeSetContentPadding(JNIEnv *env, jobject obj,long nativeMapViewPtr, double top, double left, double bottom, double right) {
+ mbgl::Log::Debug(mbgl::Event::JNI, "nativeSetContentPadding");
+ assert(nativeMapViewPtr != 0);
+ NativeMapView *nativeMapView = reinterpret_cast<NativeMapView *>(nativeMapViewPtr);
+ nativeMapView->setInsets({top, left, bottom, right});
+}
+
+
void JNICALL nativeFlyTo(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, jdouble angle, jobject centerLatLng, jlong duration, jdouble pitch, jdouble zoom) {
mbgl::Log::Debug(mbgl::Event::JNI, "nativeFlyTo");
assert(nativeMapViewPtr != 0);
@@ -1571,6 +1581,7 @@ void JNICALL nativeFlyTo(JNIEnv *env, jobject obj, jlong nativeMapViewPtr, jdoub
cameraOptions.angle = angle;
}
cameraOptions.center = mbgl::LatLng(latitude, longitude);
+ cameraOptions.padding = nativeMapView->getInsets();
if (pitch != -1) {
cameraOptions.pitch = pitch;
}
@@ -2136,6 +2147,8 @@ extern "C" JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
reinterpret_cast<void *>(&nativeAddCustomLayer)},
{"nativeRemoveCustomLayer", "(JLjava/lang/String;)V",
reinterpret_cast<void *>(&nativeRemoveCustomLayer)},
+ {"nativeSetContentPadding", "(JDDDD)V",
+ reinterpret_cast<void *>(&nativeSetContentPadding)}
};
if (env->RegisterNatives(nativeMapViewClass, methods.data(), methods.size()) < 0) {
diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp
index 5d6e240797..8c7115a1e4 100644..100755
--- a/platform/android/src/native_map_view.cpp
+++ b/platform/android/src/native_map_view.cpp
@@ -752,5 +752,9 @@ void NativeMapView::resizeFramebuffer(int w, int h) {
map->update(mbgl::Update::Repaint);
}
+void NativeMapView::setInsets(mbgl::EdgeInsets insets_) {
+ insets = insets_;
+}
+
}
}
diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp
index cc88403c39..bc5d457f5b 100644..100755
--- a/platform/android/src/native_map_view.hpp
+++ b/platform/android/src/native_map_view.hpp
@@ -51,6 +51,8 @@ public:
void resizeView(int width, int height);
void resizeFramebuffer(int width, int height);
+ mbgl::EdgeInsets getInsets() { return insets;}
+ void setInsets(mbgl::EdgeInsets insets_);
private:
EGLConfig chooseConfig(const EGLConfig configs[], EGLint numConfigs);
@@ -92,6 +94,7 @@ private:
// Ensure these are initialised last
std::unique_ptr<mbgl::DefaultFileSource> fileSource;
std::unique_ptr<mbgl::Map> map;
+ mbgl::EdgeInsets insets;
};
}
}