diff options
author | Sylvain HOCQ <chtiboss+github@gmail.com> | 2016-08-29 17:37:09 +0200 |
---|---|---|
committer | Tobrun <tobrun.van.nuland@gmail.com> | 2016-08-29 17:37:09 +0200 |
commit | eca745d63a1d86d9103ca03b59acb7972bcbfd0d (patch) | |
tree | aa55a46cd4aded16830e285e94c9c445b906498d | |
parent | e126dc3a5a3857b24246432153b0554d630b6234 (diff) | |
download | qtlocation-mapboxgl-eca745d63a1d86d9103ca03b59acb7972bcbfd0d.tar.gz |
[android] add method addMarkerViews with only one invalidate
* add method addMarkerViews with only one invalidate
* clean sample BulkMarkerActivity
3 files changed, 22 insertions, 6 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java index e73e7c0e10..d13c6f4ffc 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java @@ -772,7 +772,23 @@ public class MapboxMap { mMarkerViewManager.invalidateViewMarkersInVisibleRegion(); return marker; } - + + @UiThread + @NonNull + public List<MarkerView> addMarkerViews(@NonNull List<? extends BaseMarkerViewOptions> markerViewOptions) { + List<MarkerView> markers = new ArrayList<>(); + for (BaseMarkerViewOptions markerViewOption : markerViewOptions) { + MarkerView marker = prepareViewMarker(markerViewOption); + marker.setMapboxMap(this); + long id = mMapView.addMarker(marker); + marker.setId(id); + mAnnotations.put(id, marker); + markers.add(marker); + } + mMarkerViewManager.invalidateViewMarkersInVisibleRegion(); + return markers; + } + /** * <p> * Adds multiple markers to this map. diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/BulkMarkerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/BulkMarkerActivity.java index 8b1aa42d34..8e2766c075 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/BulkMarkerActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/BulkMarkerActivity.java @@ -129,15 +129,14 @@ public class BulkMarkerActivity extends AppCompatActivity implements AdapterView for (int i = 0; i < amount; i++) { randomIndex = random.nextInt(mLocations.size()); LatLng latLng = mLocations.get(randomIndex); - markerOptionsList.add(new MarkerViewOptions() + MarkerViewOptions markerOptions = new MarkerViewOptions() .position(latLng) .icon(icon) .title(String.valueOf(i)) - .snippet(formatter.format(latLng.getLatitude()) + ", " + formatter.format(latLng.getLongitude()))); - } - for (MarkerViewOptions markerViewOptions : markerOptionsList) { - mapboxMap.addMarker(markerViewOptions); + .snippet(formatter.format(latLng.getLatitude()) + ", " + formatter.format(latLng.getLongitude())); + markerOptionsList.add(markerOptions); } + mapboxMap.addMarkerViews(markerOptionsList); } private void showGlMarkers(int amount) { diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml index b72dd9a2ae..ed58d9ce8c 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/res/values/strings.xml @@ -167,6 +167,7 @@ <string-array name="bulk_marker_list"> <item>10</item> <item>100</item> + <item>500</item> <item>1000</item> <item>10000</item> </string-array> |