diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2016-10-17 14:50:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-17 14:50:09 +0200 |
commit | bda0e94af2a6f6ddb7e61f2aecdf6a50479a6b32 (patch) | |
tree | 79027cfe47da4f66fed2b5b6ec316c731341e338 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java | |
parent | b3468f5db7101c847f17e05a8bcb830228d3b144 (diff) | |
download | qtlocation-mapboxgl-bda0e94af2a6f6ddb7e61f2aecdf6a50479a6b32.tar.gz |
MarkerView more robust when updates are asynchronous (#6717)
* [android] - remove ViewMarkers crash, show correct view cache size in test activity
* use MapboxMap to indicate a MarkerView is no longer added on a map, no future updates will be passed on to core.
* resolve memory leak
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java index 5c84fb9992..b41eebff09 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java @@ -345,19 +345,23 @@ public class MarkerView extends Marker { * <p> * This method is used to instantiate the MarkerView and provide an instance of {@link com.mapbox.mapboxsdk.maps.MapboxMap.MarkerViewAdapter} * </p> + * <p> + * This method is used to notify that a MarkerView is no longer active by setting a null value. + * </p> * * @param mapboxMap the MapboxMap instances */ @Override public void setMapboxMap(MapboxMap mapboxMap) { super.setMapboxMap(mapboxMap); + if(mapboxMap!=null) { + if (isFlat()) { + // initial tilt value if MapboxMap is started with a tilt attribute + tiltValue = (float) mapboxMap.getCameraPosition().tilt; + } - if (isFlat()) { - // initial tilt value if MapboxMap is started with a tilt attribute - tiltValue = (float) mapboxMap.getCameraPosition().tilt; + markerViewManager = mapboxMap.getMarkerViewManager(); } - - markerViewManager = mapboxMap.getMarkerViewManager(); } /** |