summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2016-06-09 12:26:53 +0200
committerTobrun Van Nuland <tobrun.van.nuland@gmail.com>2016-06-13 14:51:35 +0200
commit8c8625210324eaad6cd926ea823fa77d75512966 (patch)
tree79609f7efa336843e3a81bdd0f1f24412b2e22e6 /platform
parent5782c9a6baa4a6cf23f54289032aaa757d40861e (diff)
downloadqtlocation-mapboxgl-8c8625210324eaad6cd926ea823fa77d75512966.tar.gz
[android] #5296 - Add a container ViewGroup for MarkerViews
Fixes #5296
Diffstat (limited to 'platform')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java2
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java11
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/res/layout/mapview_internal.xml5
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"