diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2016-06-09 12:26:53 +0200 |
---|---|---|
committer | Tobrun Van Nuland <tobrun.van.nuland@gmail.com> | 2016-06-13 14:51:35 +0200 |
commit | 8c8625210324eaad6cd926ea823fa77d75512966 (patch) | |
tree | 79609f7efa336843e3a81bdd0f1f24412b2e22e6 | |
parent | 5782c9a6baa4a6cf23f54289032aaa757d40861e (diff) | |
download | qtlocation-mapboxgl-8c8625210324eaad6cd926ea823fa77d75512966.tar.gz |
[android] #5296 - Add a container ViewGroup for MarkerViews
Fixes #5296
3 files changed, 17 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java index 01fb5d8a72..f1794b808f 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java @@ -387,7 +387,7 @@ public class MarkerViewManager { markerViewMap.put(marker, adaptedView); if (convertView == null) { - mapView.addView(adaptedView); + mapView.getMarkerViewContainer().addView(adaptedView); } } } 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 68a2a47cf7..b42e764c3b 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 @@ -48,6 +48,7 @@ import android.view.Surface; import android.view.TextureView; import android.view.View; import android.view.ViewConfiguration; +import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.FrameLayout; @@ -124,6 +125,7 @@ public class MapView extends FrameLayout { private NativeMapView mNativeMapView; private boolean mHasSurface = false; + private ViewGroup mMarkerViewContainer; private CompassView mCompassView; private ImageView mLogoView; private ImageView mAttributionsView; @@ -224,6 +226,8 @@ public class MapView extends FrameLayout { // Connectivity onConnectivityChanged(isConnected()); + mMarkerViewContainer = (ViewGroup) view.findViewById(R.id.markerViewContainer); + mMyLocationView = (MyLocationView) view.findViewById(R.id.userLocationView); mMyLocationView.setMapboxMap(mMapboxMap); @@ -1132,6 +1136,13 @@ public class MapView extends FrameLayout { return new ArrayList<>(annotations); } + /** + * @return the ViewGroup containing the marker views + */ + public ViewGroup getMarkerViewContainer() { + return mMarkerViewContainer; + } + int getTopOffsetPixelsForIcon(Icon icon) { if (mDestroyed) { diff --git a/platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapview_internal.xml b/platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapview_internal.xml index e944a5b4d1..8787b0ba76 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapview_internal.xml +++ b/platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapview_internal.xml @@ -6,6 +6,11 @@ android:layout_width="match_parent" android:layout_height="match_parent" /> + <FrameLayout + android:id="@+id/markerViewContainer" + android:layout_width="match_parent" + android:layout_height="match_parent"/> + <com.mapbox.mapboxsdk.maps.widgets.CompassView android:id="@+id/compassView" android:layout_width="wrap_content" |