summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java90
1 files changed, 70 insertions, 20 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java
index 68a5b642c4..9f3940bd3f 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java
@@ -5,9 +5,11 @@ import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
+import android.view.Menu;
import android.view.MenuItem;
import android.view.ViewGroup;
+import com.mapbox.mapboxsdk.annotations.Polygon;
import com.mapbox.mapboxsdk.annotations.PolygonOptions;
import com.mapbox.mapboxsdk.camera.CameraPosition;
import com.mapbox.mapboxsdk.constants.Style;
@@ -17,14 +19,45 @@ import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.MapboxMapOptions;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.testapp.R;
-import com.mapbox.mapboxsdk.testapp.model.constants.AppConstant;
import java.util.ArrayList;
import java.util.List;
public class PolygonActivity extends AppCompatActivity {
+ private static final int BLUE_COLOR = Color.parseColor("#3bb2d0");
+ private static final int RED_COLOR = Color.parseColor("#AF0000");
+
+ private static final float FULL_ALPHA = 1.0f;
+ private static final float PARTIAL_ALPHA = 0.5f;
+ private static final float NO_ALPHA = 0.0f;
+
+ private static final List<LatLng> POINTS = new ArrayList<LatLng>() {{
+ add(new LatLng(45.522585, -122.685699));
+ add(new LatLng(45.534611, -122.708873));
+ add(new LatLng(45.530883, -122.678833));
+ add(new LatLng(45.547115, -122.667503));
+ add(new LatLng(45.530643, -122.660121));
+ add(new LatLng(45.533529, -122.636260));
+ add(new LatLng(45.521743, -122.659091));
+ add(new LatLng(45.510677, -122.648792));
+ add(new LatLng(45.515008, -122.664070));
+ add(new LatLng(45.502496, -122.669048));
+ }};
+
+ private List<LatLng> ADDITIONAL_POINTS = new ArrayList<LatLng>() {{
+ add(new LatLng(45.515369, -122.678489));
+ add(new LatLng(45.506346, -122.702007));
+ add(new LatLng(45.522585, -122.685699));
+ }};
+
private MapView mapView;
+ private Polygon polygon;
+
+ private boolean fullAlpha = true;
+ private boolean visible = true;
+ private boolean allPoints = true;
+ private boolean color = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -42,8 +75,7 @@ public class PolygonActivity extends AppCompatActivity {
// configure inital map state
MapboxMapOptions options = new MapboxMapOptions()
- .attributionTintColor(Color.RED)
- .accessToken(getString(R.string.mapbox_access_token))
+ .attributionTintColor(RED_COLOR)
.styleUrl(Style.MAPBOX_STREETS)
.camera(new CameraPosition.Builder()
.target(new LatLng(45.520486, -122.673541))
@@ -57,23 +89,10 @@ public class PolygonActivity extends AppCompatActivity {
mapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(MapboxMap mapboxMap) {
- List<LatLng> polygon = new ArrayList<>();
- polygon.add(new LatLng(45.522585, -122.685699));
- polygon.add(new LatLng(45.534611, -122.708873));
- polygon.add(new LatLng(45.530883, -122.678833));
- polygon.add(new LatLng(45.547115, -122.667503));
- polygon.add(new LatLng(45.530643, -122.660121));
- polygon.add(new LatLng(45.533529, -122.636260));
- polygon.add(new LatLng(45.521743, -122.659091));
- polygon.add(new LatLng(45.510677, -122.648792));
- polygon.add(new LatLng(45.515008, -122.664070));
- polygon.add(new LatLng(45.502496, -122.669048));
- polygon.add(new LatLng(45.515369, -122.678489));
- polygon.add(new LatLng(45.506346, -122.702007));
- polygon.add(new LatLng(45.522585, -122.685699));
- mapboxMap.addPolygon(new PolygonOptions()
- .addAll(polygon)
- .fillColor(Color.parseColor("#3bb2d0")));
+ POINTS.addAll(ADDITIONAL_POINTS);
+ polygon = mapboxMap.addPolygon(new PolygonOptions()
+ .addAll(POINTS)
+ .fillColor(BLUE_COLOR));
}
});
@@ -117,8 +136,39 @@ public class PolygonActivity extends AppCompatActivity {
case android.R.id.home:
onBackPressed();
return true;
+
+ case R.id.action_id_alpha:
+ fullAlpha = !fullAlpha;
+ polygon.setAlpha(fullAlpha ? FULL_ALPHA : PARTIAL_ALPHA);
+ return true;
+
+ case R.id.action_id_visible:
+ visible = !visible;
+ polygon.setAlpha(visible ? (fullAlpha ? FULL_ALPHA : PARTIAL_ALPHA) : NO_ALPHA);
+ return true;
+
+ case R.id.action_id_points:
+ allPoints = !allPoints;
+ if (allPoints) {
+ POINTS.addAll(ADDITIONAL_POINTS);
+ } else {
+ POINTS.removeAll(ADDITIONAL_POINTS);
+ }
+ polygon.setPoints(POINTS);
+ return true;
+
+ case R.id.action_id_color:
+ color = !color;
+ polygon.setFillColor(color ? BLUE_COLOR : RED_COLOR);
+
default:
return super.onOptionsItemSelected(item);
}
}
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ getMenuInflater().inflate(R.menu.menu_polygon, menu);
+ return true;
+ }
}