[android] #3276 - make view marker only visible after first x,y update
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -656,8 +656,6 @@ public class MapboxMap {
|
||||
mMarkerViews.append(marker.getId(), adaptedView);
|
||||
if (convertView == null) {
|
||||
mMapView.addView(adaptedView);
|
||||
} else {
|
||||
convertView.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user