diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2016-08-02 11:16:49 -0400 |
---|---|---|
committer | Tobrun <tobrun.van.nuland@gmail.com> | 2016-08-03 14:50:41 -0400 |
commit | f26c89c0b6f17039794e67756a610e7f2028100c (patch) | |
tree | 8c941ea2b4fc6929384e4a66cb595e08b04bcaf5 /platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java | |
parent | 77c8f0a7058dff25268f69a74554007fc84601fe (diff) | |
download | qtlocation-mapboxgl-f26c89c0b6f17039794e67756a610e7f2028100c.tar.gz |
[android] #5663 - make shape annotations updateable
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java | 74 |
1 files changed, 58 insertions, 16 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java index 9eb4bc1741..5b45223da0 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolylineActivity.java @@ -25,6 +25,7 @@ import java.util.List; public class PolylineActivity extends AppCompatActivity { private static final String STATE_POLYLINE_OPTIONS = "polylineOptions"; + private static final LatLng ANDORRA = new LatLng(42.505777, 1.52529); private static final LatLng LUXEMBOURG = new LatLng(49.815273, 6.129583); private static final LatLng MONACO = new LatLng(43.738418, 7.424616); @@ -32,11 +33,20 @@ public class PolylineActivity extends AppCompatActivity { private static final LatLng SAN_MARINO = new LatLng(43.942360, 12.457777); private static final LatLng LIECHTENSTEIN = new LatLng(47.166000, 9.555373); + 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 List<Polyline> mPolylines; private ArrayList<PolylineOptions> mPolylineOptions = new ArrayList<>(); private MapView mMapView; private MapboxMap mMapboxMap; + private boolean fullAlpha = true; + private boolean visible = true; + private boolean width = true; + private boolean color = true; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -67,25 +77,29 @@ public class PolylineActivity extends AppCompatActivity { } }); - findViewById(R.id.fab).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (mMapboxMap != null) { - if (mPolylines != null && mPolylines.size() > 0) { - if (mPolylines.size() == 1) { - // test for removing annotation - mMapboxMap.removeAnnotation(mPolylines.get(0)); - } else { - // test for removing annotations - mMapboxMap.removeAnnotations(mPolylines); + View fab = findViewById(R.id.fab); + if (fab != null) { + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (mMapboxMap != null) { + if (mPolylines != null && mPolylines.size() > 0) { + if (mPolylines.size() == 1) { + // test for removing annotation + mMapboxMap.removeAnnotation(mPolylines.get(0)); + } else { + // test for removing annotations + mMapboxMap.removeAnnotations(mPolylines); + } } + mPolylineOptions.clear(); + mPolylineOptions.addAll(getRandomLine()); + mPolylines = mMapboxMap.addPolylines(mPolylineOptions); + } - mPolylineOptions.clear(); - mPolylineOptions.addAll(getRandomLine()); - mPolylines = mMapboxMap.addPolylines(mPolylineOptions); } - } - }); + }); + } } private List<PolylineOptions> getAllPolylines() { @@ -161,6 +175,34 @@ public class PolylineActivity extends AppCompatActivity { mMapboxMap.clear(); return true; + case R.id.action_id_alpha: + fullAlpha = !fullAlpha; + for (Polyline p : mPolylines) { + p.setAlpha(fullAlpha ? FULL_ALPHA : PARTIAL_ALPHA); + } + return true; + + case R.id.action_id_color: + color = !color; + for (Polyline p : mPolylines) { + p.setColor(color ? Color.RED : Color.BLUE); + } + return true; + + case R.id.action_id_width: + width = !width; + for (Polyline p : mPolylines) { + p.setWidth(width ? 3.0f : 5.0f); + } + return true; + + case R.id.action_id_visible: + visible = !visible; + for (Polyline p : mPolylines) { + p.setAlpha(visible ? (fullAlpha ? FULL_ALPHA : PARTIAL_ALPHA) : NO_ALPHA); + } + return true; + case android.R.id.home: onBackPressed(); return true; |