File tree Expand file tree Collapse file tree
plugin-markerview/src/main/java/com/mapbox/mapboxsdk/plugins/markerview Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1212/**
1313 * Class responsible for synchronising views at a LatLng on top of a Map.
1414 */
15- public class MarkerViewManager implements MapView .OnDidFinishRenderingFrameListener {
15+ public class MarkerViewManager implements MapView .OnCameraDidChangeListener {
1616
1717 private final MapView mapView ;
1818 private final MapboxMap mapboxMap ;
@@ -39,7 +39,7 @@ public MarkerViewManager(MapView mapView, MapboxMap mapboxMap) {
3939 @ UiThread
4040 public void onDestroy () {
4141 markers .clear ();
42- mapView .removeOnDidFinishRenderingFrameListener (this );
42+ mapView .removeOnCameraDidChangeListener (this );
4343 initialised = false ;
4444 }
4545
@@ -56,11 +56,12 @@ public void addMarker(@NonNull MarkerView markerView) {
5656
5757 if (!initialised ) {
5858 initialised = true ;
59- mapView .addOnDidFinishRenderingFrameListener (this );
59+ mapView .addOnCameraDidChangeListener (this );
6060 }
6161 markerView .setProjection (mapboxMap .getProjection ());
6262 mapView .addView (markerView .getView ());
6363 markers .add (markerView );
64+ markerView .update ();
6465 }
6566
6667 /**
@@ -78,16 +79,14 @@ public void removeMarker(@NonNull MarkerView markerView) {
7879 markers .remove (markerView );
7980 }
8081
81- @ Override
82- public void onDidFinishRenderingFrame (boolean fully ) {
83- if (fully ) {
84- update ();
85- }
86- }
87-
8882 private void update () {
8983 for (MarkerView marker : markers ) {
9084 marker .update ();
9185 }
9286 }
87+
88+ @ Override
89+ public void onCameraDidChange (boolean animated ) {
90+ update ();
91+ }
9392}
You can’t perform that action at this time.
0 commit comments