summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2016-05-06 11:53:23 +0200
committerTobrun <tobrun@mapbox.com>2016-05-20 12:00:02 +0200
commit20e7b140b7ef11029cd295b1760b70d60e4df0b2 (patch)
tree1af8cfce75661b31770df3c039a9f34948f639b9 /platform
parentb7d47d4c3fd038d4a6e92cdd65b76fb6bd435a33 (diff)
downloadqtlocation-mapboxgl-20e7b140b7ef11029cd295b1760b70d60e4df0b2.tar.gz
[android] #3276 - make view marker only visible after first x,y update
Diffstat (limited to 'platform')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java17
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java2
2 files changed, 11 insertions, 8 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
index 5cf09184c0..6bdc71819d 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
@@ -455,15 +455,16 @@ public class MapView extends FrameLayout {
}
}
} else if (change == REGION_IS_CHANGING || change == REGION_DID_CHANGE) {
+ if (mMapboxMap.getMarkerViewAdapter() != null) {
+ long currentTime = SystemClock.elapsedRealtime();
- long currentTime = SystemClock.elapsedRealtime();
+ if (mViewMarkersUpdateRunning || currentTime < mViewMarkerBoundsUpdateTime) {
+ return;
+ }
- if (mViewMarkersUpdateRunning || currentTime < mViewMarkerBoundsUpdateTime) {
- return;
+ mViewMarkerBoundsUpdateTime = currentTime + 300;
+ new MarkerInBoundsTask().execute();
}
-
- mViewMarkerBoundsUpdateTime = currentTime + 300;
- new MarkerInBoundsTask().execute();
}
}
});
@@ -1456,6 +1457,10 @@ public class MapView extends FrameLayout {
PointF point = mMapboxMap.getProjection().toScreenLocation(marker.getPosition());
mViewHolder.setX(point.x - (mViewHolder.getMeasuredWidth() / 2));
mViewHolder.setY(point.y - (mViewHolder.getMeasuredHeight() / 2));
+
+ if (mViewHolder.getVisibility() == View.GONE) {
+ mViewHolder.setVisibility(View.VISIBLE);
+ }
}
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
index f428df3035..99c005381e 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
@@ -656,8 +656,6 @@ public class MapboxMap {
mMarkerViews.append(marker.getId(), adaptedView);
if (convertView == null) {
mMapView.addView(adaptedView);
- } else {
- convertView.setVisibility(View.VISIBLE);
}
}
}