diff options
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.java | 90 |
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; + } } |