diff options
author | Tobrun Van Nuland <nurbot@Tobruns-Mac-mini.local> | 2016-05-24 14:45:51 +0200 |
---|---|---|
committer | Tobrun Van Nuland <tobrun.van.nuland@gmail.com> | 2016-05-25 13:09:48 +0200 |
commit | 621bb018454d2edd9e5367fb150045d59def4166 (patch) | |
tree | 94a43323ddb999cb46468bf2f75330ee29adc80d /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java | |
parent | 1d7d8a9f2f39de2ae2425a9d440ce5c4151d1885 (diff) | |
download | qtlocation-mapboxgl-621bb018454d2edd9e5367fb150045d59def4166.tar.gz |
[android] #5115 - add visible integration to MarkerView
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java index 982d279caf..c0c18e59e7 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java @@ -49,6 +49,13 @@ public class MarkerViewManager { } } + public void animateVisible(@NonNull MarkerView marker, boolean visible) { + View convertView = mMarkerViewMap.get(marker); + if (convertView != null) { + convertView.setVisibility(visible ? View.VISIBLE : View.GONE); + } + } + public void update() { View convertView; for (MarkerView marker : mMarkerViewMap.keySet()) { @@ -57,7 +64,7 @@ public class MarkerViewManager { PointF point = mapboxMap.getProjection().toScreenLocation(marker.getPosition()); convertView.setX(point.x - (convertView.getMeasuredWidth() / 2)); convertView.setY(point.y - (convertView.getMeasuredHeight() / 2)); - if (convertView.getVisibility() == View.GONE) { + if (marker.isVisible() && convertView.getVisibility() == View.GONE) { convertView.animate().cancel(); convertView.setAlpha(0); AnimatorUtils.alpha(convertView, 1); @@ -181,6 +188,9 @@ public class MarkerViewManager { // alpha adaptedView.setAlpha(marker.getAlpha()); + // visible + adaptedView.setVisibility(marker.isVisible() ? View.VISIBLE : View.GONE); + if (mapboxMap.getSelectedMarkers().contains(marker)) { // if a marker to be shown was selected // replay that animation with duration 0 |