summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobrun <tobrun.van.nuland@gmail.com>2018-08-21 13:34:45 +0200
committertobrun <tobrun.van.nuland@gmail.com>2018-08-21 13:34:45 +0200
commitbd6e77ef7d5887a30528389382e0a74631fe2f0d (patch)
treef7a68ad144d54b0257683fc70f4b3f8d1420c32c
parent1d1bc03152e27a24a40e81384cd5a15d758f57d8 (diff)
downloadqtlocation-mapboxgl-upstream/tvn-offline-region-init-update.tar.gz
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java45
1 files changed, 25 insertions, 20 deletions
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 17ef1ef484..d480d28f26 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
@@ -37,6 +37,7 @@ import com.mapbox.mapboxsdk.camera.CameraPosition;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
import com.mapbox.mapboxsdk.constants.Style;
+import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.maps.renderer.MapRenderer;
import com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.GLSurfaceViewMapRenderer;
import com.mapbox.mapboxsdk.maps.renderer.textureview.TextureViewMapRenderer;
@@ -568,32 +569,20 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
return;
}
- String styleUrl;
- double minZoom, maxZoom;
- CameraPosition cameraPosition;
-
if (definition instanceof OfflineTilePyramidRegionDefinition) {
- OfflineTilePyramidRegionDefinition regionDefinition = (OfflineTilePyramidRegionDefinition) definition;
- styleUrl = regionDefinition.getStyleURL();
- minZoom = regionDefinition.getMinZoom();
- maxZoom = regionDefinition.getMaxZoom();
- cameraPosition = new CameraPosition.Builder()
- .target(regionDefinition.getBounds().getCenter())
- .zoom(minZoom)
- .build();
+ setOfflineTilePyramidRegionDefinition((OfflineTilePyramidRegionDefinition) definition);
} else if (definition instanceof OfflineGeometryRegionDefinition) {
- OfflineGeometryRegionDefinition regionDefinition = (OfflineGeometryRegionDefinition) definition;
- styleUrl = regionDefinition.getStyleURL();
- minZoom = regionDefinition.getMinZoom();
- maxZoom = regionDefinition.getMaxZoom();
- cameraPosition = new CameraPosition.Builder()
- .target(regionDefinition.getBounds().getCenter())
- .zoom(minZoom)
- .build();
+ setOfflineGeometryRegionDefinition((OfflineGeometryRegionDefinition) definition);
} else {
throw new UnsupportedOperationException("OfflineRegionDefintion instance not supported");
}
+ }
+ private void setOfflineRegionDefinition(String styleUrl, LatLng cameraTarget, double minZoom, double maxZoom) {
+ CameraPosition cameraPosition = new CameraPosition.Builder()
+ .target(cameraTarget)
+ .zoom(minZoom)
+ .build();
setStyleUrl(styleUrl);
if (!isMapInitialized()) {
mapboxMapOptions.camera(cameraPosition);
@@ -606,6 +595,22 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
mapboxMap.setMaxZoomPreference(maxZoom);
}
+ private void setOfflineTilePyramidRegionDefinition(OfflineTilePyramidRegionDefinition regionDefinition) {
+ setOfflineRegionDefinition(regionDefinition.getStyleURL(),
+ regionDefinition.getBounds().getCenter(),
+ regionDefinition.getMinZoom(),
+ regionDefinition.getMaxZoom()
+ );
+ }
+
+ private void setOfflineGeometryRegionDefinition(OfflineGeometryRegionDefinition regionDefinition) {
+ setOfflineRegionDefinition(regionDefinition.getStyleURL(),
+ regionDefinition.getBounds().getCenter(),
+ regionDefinition.getMinZoom(),
+ regionDefinition.getMaxZoom()
+ );
+ }
+
//
// Rendering
//