summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Hallahan <nick@theoutpost.io>2015-07-16 15:09:56 -0700
committerNicholas Hallahan <nick@theoutpost.io>2015-07-16 15:09:56 -0700
commit0df1d6482375693f8c341b55eaab4ddf7783a88c (patch)
treeb6c9a8d5e649cf6be457154dc699d837f9f29284
parent9e3f60756f6e70fa8f4b0d5827127bd404b1baf6 (diff)
downloadqtlocation-mapboxgl-0df1d6482375693f8c341b55eaab4ddf7783a88c.tar.gz
toggle removes all annotations. ready for polygon JNI #1716
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java20
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/NativeMapView.java8
-rw-r--r--android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java6
3 files changed, 31 insertions, 3 deletions
diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java
index 9e4e6e6cf7..4a8ed42a54 100644
--- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java
+++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/MapView.java
@@ -32,6 +32,8 @@ import com.almeros.android.multitouch.gesturedetectors.TwoFingerGestureDetector;
import com.mapbox.mapboxgl.annotations.Annotation;
import com.mapbox.mapboxgl.annotations.Marker;
import com.mapbox.mapboxgl.annotations.MarkerOptions;
+import com.mapbox.mapboxgl.annotations.Polygon;
+import com.mapbox.mapboxgl.annotations.PolygonOptions;
import com.mapbox.mapboxgl.annotations.Polyline;
import com.mapbox.mapboxgl.annotations.PolylineOptions;
import com.mapbox.mapboxgl.geometry.LatLng;
@@ -232,11 +234,29 @@ public class MapView extends SurfaceView {
return polyline;
}
+ public Polygon addPolygon(PolygonOptions polygonOptions) {
+ Polygon polygon = polygonOptions.getPolygon();
+ Long id = mNativeMapView.addPolygon(polygon);
+ polygon.setId(id);
+ polygon.setMapView(this);
+ annotations.add(polygon);
+ return polygon;
+ }
+
public void removeAnnotation(Annotation annotation) {
long id = annotation.getId();
mNativeMapView.removeAnnotation(id);
}
+ public void removeAnnotation(long annotationId) {
+ mNativeMapView.removeAnnotation(annotationId);
+ }
+
+ public void removeAnnotations() {
+ for (Annotation annotation : annotations) {
+ annotation.remove();
+ }
+ }
//
// Property methods
diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/NativeMapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/NativeMapView.java
index be1680abaf..ac4f571a72 100644
--- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/NativeMapView.java
+++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxgl/views/NativeMapView.java
@@ -4,6 +4,7 @@ import android.graphics.PointF;
import android.view.Surface;
import com.mapbox.mapboxgl.annotations.Marker;
+import com.mapbox.mapboxgl.annotations.Polygon;
import com.mapbox.mapboxgl.annotations.Polyline;
import com.mapbox.mapboxgl.geometry.LatLng;
import com.mapbox.mapboxgl.geometry.LatLngZoom;
@@ -225,6 +226,11 @@ class NativeMapView {
return nativeAddPolyline(mNativeMapViewPtr, polyline);
}
+ public long addPolygon(Polygon polygon) {
+ // NH TODO Throw exception if returns -1
+ return nativeAddPolygon(mNativeMapViewPtr, polygon);
+ }
+
public void removeAnnotation(long id) {
nativeRemoveAnnotation(mNativeMapViewPtr, id);
}
@@ -465,6 +471,8 @@ class NativeMapView {
private native long nativeAddPolyline(long nativeMapViewPtr, Polyline polyline);
+ private native long nativeAddPolygon(long mNativeMapViewPtr, Polygon polygon);
+
private native void nativeRemoveAnnotation(long nativeMapViewPtr, long id);
private native LatLng nativeGetLatLng(long nativeMapViewPtr);
diff --git a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java
index 9c1547febc..4c25e241e0 100644
--- a/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java
+++ b/android/java/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxgl/testapp/MainActivity.java
@@ -281,7 +281,7 @@ public class MainActivity extends ActionBarActivity {
} else {
if (mIsMarkersOn) {
mIsMarkersOn = false;
- removeMarkers();
+ removeAnnotations();
}
}
}
@@ -311,8 +311,8 @@ public class MainActivity extends ActionBarActivity {
}
}
- private void removeMarkers() {
- marker.remove();
+ private void removeAnnotations() {
+ mMapFragment.getMap().removeAnnotations();
}
// This class forwards location updates to updateLocation()