summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java
diff options
context:
space:
mode:
authorTobrun Van Nuland <nurbot@Tobruns-Mac-mini.local>2016-05-24 14:45:51 +0200
committerTobrun Van Nuland <tobrun.van.nuland@gmail.com>2016-05-25 13:09:48 +0200
commit621bb018454d2edd9e5367fb150045d59def4166 (patch)
tree94a43323ddb999cb46468bf2f75330ee29adc80d /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java
parent1d7d8a9f2f39de2ae2425a9d440ce5c4151d1885 (diff)
downloadqtlocation-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.java12
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