public class MarkerViewManager
extends java.lang.Object
This class is responsible for managing a MarkerView item.
| Modifier and Type | Class and Description |
|---|---|
static class |
MarkerViewManager.ImageMarkerViewAdapter
Default MarkerViewAdapter used for base class of MarkerView to adapt a MarkerView to an ImageView
|
| Constructor and Description |
|---|
MarkerViewManager(MapboxMap mapboxMap,
MapView mapView)
Creates an instance of MarkerViewManager.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addMarkerViewAdapter(MapboxMap.MarkerViewAdapter markerViewAdapter)
Add a MarkerViewAdapter to the MarkerViewManager.
|
void |
animateAlpha(MarkerView marker,
float alpha)
Animate a MarkerView to a given alpha value.
|
void |
animateRotation(MarkerView marker,
float rotation)
Animate a MarkerView to a given rotation.
|
void |
animateVisible(MarkerView marker,
boolean visible)
Animate a MarkerVIew to be visible or invisible
|
void |
deselect(MarkerView marker)
Animate a MarkerView to a deselected state.
|
void |
ensureInfoWindowOffset(MarkerView marker) |
java.util.List<MapboxMap.MarkerViewAdapter> |
getMarkerViewAdapters()
Get all MarkerViewAdapters associated with this MarkerViewManager.
|
android.view.View |
getView(MarkerView marker)
Get view representation from a MarkerView.
|
void |
invalidateViewMarkersInBounds()
Invalidate the ViewMarkers found in the viewport.
|
void |
removeMarkerView(MarkerView marker)
Remove a MarkerView from a map.
|
void |
scheduleViewMarkerInvalidation()
Schedule that ViewMarkers found in the viewport are invalidated.
|
void |
select(MarkerView marker)
Animate a MarkerView to a selected state.
|
void |
select(MarkerView marker,
android.view.View convertView,
MapboxMap.MarkerViewAdapter adapter)
Animate a MarkerView to a selected state.
|
void |
setOnMarkerViewClickListener(MapboxMap.OnMarkerViewClickListener listener)
Register a callback to be invoked when this view is clicked.
|
void |
setTilt(float tilt)
Set tilt on every non flat MarkerView currently shown in the Viewport.
|
void |
update()
Updates the position of MarkerViews currently found in the viewport.
|
void |
updateIcon(MarkerView markerView) |
public void animateRotation(MarkerView marker, float rotation)
The MarkerView will be rotated from its current rotation to the given rotation.
marker - the MarkerView to rotaterotation - the rotation valuepublic void animateAlpha(MarkerView marker, float alpha)
The MarkerView will be transformed from its current alpha value to the given value.
marker - the MarkerView to change its alpha valuealpha - the alpha valuepublic void animateVisible(MarkerView marker, boolean visible)
The MarkerView will be made View.VISIBLE or View.GONE.
marker - the MarkerView to change its visibilityvisible - the flag indicating if MarkerView is visiblepublic void update()
The collection of MarkerView will be iterated and each item position will be updated.
If an item is View state is not visible and its related flag is set to visible,
The MarkerView will be animated to visible using alpha animation.
public void setTilt(float tilt)
tilt - the tilt valuepublic void updateIcon(MarkerView markerView)
public void deselect(MarkerView marker)
The MapboxMap.MarkerViewAdapter.onDeselect(MarkerView, View) will be called to execute an animation.
marker - the MarkerView to deselectpublic void select(MarkerView marker)
marker - the MarkerView object to selectpublic void select(MarkerView marker, android.view.View convertView, MapboxMap.MarkerViewAdapter adapter)
The MapboxMap.MarkerViewAdapter.onSelect(MarkerView, View, boolean) will be called to execute an animation.
marker - the MarkerView object to selectconvertView - the View presentation of the MarkerViewadapter - the adapter used to adapt the marker to the convertViewpublic android.view.View getView(MarkerView marker)
If marker is not found in current viewport, null is returned.
marker - the marker to get the view forpublic void removeMarkerView(MarkerView marker)
The MarkerView will be removed using an alpha animation and related View
will be released to the android.support.v4.util.Pools.SimplePool from the related
MapboxMap.MarkerViewAdapter. It's possible to remove
the MarkerView from the underlying collection if needed.
marker - the MarkerView to removepublic void addMarkerViewAdapter(MapboxMap.MarkerViewAdapter markerViewAdapter)
The provided MarkerViewAdapter must use supply a generic subclass of MarkerView.
markerViewAdapter - the MarkerViewAdapter to addpublic java.util.List<MapboxMap.MarkerViewAdapter> getMarkerViewAdapters()
public void setOnMarkerViewClickListener(MapboxMap.OnMarkerViewClickListener listener)
listener - the callback to be invokedpublic void scheduleViewMarkerInvalidation()
This method is rate limited, and invalidateViewMarkersInBounds() will only be called
once each 250 ms.
public void invalidateViewMarkersInBounds()
This method will remove any markers that aren't in the viewport any more and will add new ones for each found Marker in the changed viewport.
public void ensureInfoWindowOffset(MarkerView marker)