diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2015-12-11 16:04:40 -0800 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2015-12-16 11:03:32 -0800 |
commit | 8a17d30c50f46b5c702807a840bbfb6395eb456e (patch) | |
tree | 94952de29122f9694ca07c032073697dcd0e0fc9 /android/MapboxGLAndroidSDK/src | |
parent | e304033552fd423db5324545216f9cf3a1e62150 (diff) | |
download | qtlocation-mapboxgl-8a17d30c50f46b5c702807a840bbfb6395eb456e.tar.gz |
[android] Custom layer bindings
Diffstat (limited to 'android/MapboxGLAndroidSDK/src')
4 files changed, 38 insertions, 0 deletions
diff --git a/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/layers/CustomLayer.java b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/layers/CustomLayer.java new file mode 100644 index 0000000000..f6fb297dc6 --- /dev/null +++ b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/layers/CustomLayer.java @@ -0,0 +1,21 @@ +package com.mapbox.mapboxsdk.layers; + +public class CustomLayer { + public CustomLayer(String id, + long context, + long initializeFunction, + long renderFunction, + long deinitializeFunction) { + this.mID = id; + this.mContext = context; + this.mInitializeFunction = initializeFunction; + this.mRenderFunction = renderFunction; + this.mDeinitializeFunction = deinitializeFunction; + } + + public String mID; + public long mContext; + public long mInitializeFunction; + public long mRenderFunction; + public long mDeinitializeFunction; +} diff --git a/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/layers/package-info.java b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/layers/package-info.java new file mode 100644 index 0000000000..fda1a493e2 --- /dev/null +++ b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/layers/package-info.java @@ -0,0 +1,4 @@ +/** + * This package contains classes to add and manage layers in your map. + */ +package com.mapbox.mapboxsdk.layers; diff --git a/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java index 94cfe23f86..157f1ae955 100644 --- a/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java +++ b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java @@ -74,6 +74,7 @@ import com.mapbox.mapboxsdk.geometry.BoundingBox; import com.mapbox.mapboxsdk.geometry.CoordinateBounds; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.geometry.LatLngZoom; +import com.mapbox.mapboxsdk.layers.CustomLayer; import com.mapbox.mapboxsdk.utils.ApiAccess; import java.lang.annotation.Retention; @@ -3782,6 +3783,11 @@ public final class MapView extends FrameLayout { mAttributionsView.setVisibility(visibility); } + @UiThread + public void addCustomLayer(CustomLayer customLayer, String before) { + mNativeMapView.addCustomLayer(customLayer, before); + } + private void setWidgetGravity(@NonNull final View view, int gravity) { LayoutParams layoutParams = (LayoutParams) view.getLayoutParams(); layoutParams.gravity = gravity; diff --git a/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/NativeMapView.java b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/NativeMapView.java index f09d0e9027..c142670775 100644 --- a/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/NativeMapView.java +++ b/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/NativeMapView.java @@ -11,6 +11,7 @@ import com.mapbox.mapboxsdk.geometry.BoundingBox; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.geometry.LatLngZoom; import com.mapbox.mapboxsdk.geometry.ProjectedMeters; +import com.mapbox.mapboxsdk.layers.CustomLayer; import java.lang.ref.WeakReference; import java.util.List; @@ -449,6 +450,10 @@ final class NativeMapView { return nativeGetTopOffsetPixelsForAnnotationSymbol(mNativeMapViewPtr, symbolName); } + public void addCustomLayer(CustomLayer customLayer, String before) { + nativeAddCustomLayer(mNativeMapViewPtr, customLayer, before); + } + // // Callbacks // @@ -629,4 +634,6 @@ final class NativeMapView { private native LatLng nativeLatLngForPixel(long nativeMapViewPtr, PointF pixel); private native double nativeGetTopOffsetPixelsForAnnotationSymbol(long nativeMapViewPtr, String symbolName); + + private native void nativeAddCustomLayer(long nativeMapViewPtr, CustomLayer customLayer, String before); } |