summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout
diff options
context:
space:
mode:
authorTobrun <tobrun@mapbox.com>2017-04-13 16:06:09 +0200
committerGitHub <noreply@github.com>2017-04-13 16:06:09 +0200
commit21f54cc50605fd49e927bae340eac4732570f2e4 (patch)
tree1135b1a82439bd2f8f665809ca78d32ddd560f43 /platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout
parent08101921633ded8978c003179c5f324c91aac266 (diff)
downloadqtlocation-mapboxgl-21f54cc50605fd49e927bae340eac4732570f2e4.tar.gz
[android] - add binding integration for Map::setLatLngbounds, add example (#8622)
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/LatLngBoundsForCameraActivity.java109
1 files changed, 109 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/LatLngBoundsForCameraActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/LatLngBoundsForCameraActivity.java
new file mode 100644
index 0000000000..9ac87deb0d
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/LatLngBoundsForCameraActivity.java
@@ -0,0 +1,109 @@
+package com.mapbox.mapboxsdk.testapp.activity.maplayout;
+
+import android.graphics.Color;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+import android.view.Gravity;
+import android.view.View;
+import android.widget.FrameLayout;
+
+import com.mapbox.mapboxsdk.annotations.PolygonOptions;
+import com.mapbox.mapboxsdk.geometry.LatLng;
+import com.mapbox.mapboxsdk.geometry.LatLngBounds;
+import com.mapbox.mapboxsdk.maps.MapView;
+import com.mapbox.mapboxsdk.maps.MapboxMap;
+import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
+import com.mapbox.mapboxsdk.testapp.R;
+
+/**
+ * Test Activity showcasing restricting user gestures to a bounds around Iceland.
+ */
+public class LatLngBoundsForCameraActivity extends AppCompatActivity implements OnMapReadyCallback {
+
+ private static final LatLngBounds ICELAND_BOUNDS = new LatLngBounds.Builder()
+ .include(new LatLng(66.852863, -25.985652))
+ .include(new LatLng(62.985661, -12.626277))
+ .build();
+
+ private MapView mapView;
+ private MapboxMap mapboxMap;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_restricted_bounds);
+
+ mapView = (MapView) findViewById(R.id.mapView);
+ mapView.onCreate(savedInstanceState);
+ mapView.getMapAsync(this);
+ }
+
+ @Override
+ public void onMapReady(MapboxMap mapboxMap) {
+ this.mapboxMap = mapboxMap;
+ mapboxMap.setLatLngBoundsForCameraTarget(ICELAND_BOUNDS);
+ mapboxMap.setMinZoomPreference(2);
+ showBoundsArea();
+ showCrosshair();
+ }
+
+ private void showBoundsArea() {
+ PolygonOptions boundsArea = new PolygonOptions()
+ .add(ICELAND_BOUNDS.getNorthWest())
+ .add(ICELAND_BOUNDS.getNorthEast())
+ .add(ICELAND_BOUNDS.getSouthEast())
+ .add(ICELAND_BOUNDS.getSouthWest());
+ boundsArea.alpha(0.25f);
+ boundsArea.fillColor(Color.RED);
+ mapboxMap.addPolygon(boundsArea);
+ }
+
+ private void showCrosshair() {
+ View crosshair = new View(this);
+ crosshair.setLayoutParams(new FrameLayout.LayoutParams(10, 10, Gravity.CENTER));
+ crosshair.setBackgroundColor(Color.BLUE);
+ mapView.addView(crosshair);
+ }
+
+ @Override
+ protected void onStart() {
+ super.onStart();
+ mapView.onStart();
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ mapView.onResume();
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ mapView.onPause();
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+ mapView.onStop();
+ }
+
+ @Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ mapView.onSaveInstanceState(outState);
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ mapView.onDestroy();
+ }
+
+ @Override
+ public void onLowMemory() {
+ super.onLowMemory();
+ mapView.onLowMemory();
+ }
+}