diff options
author | tobrun <tobrun.van.nuland@gmail.com> | 2018-08-21 13:34:45 +0200 |
---|---|---|
committer | tobrun <tobrun.van.nuland@gmail.com> | 2018-08-21 13:34:45 +0200 |
commit | bd6e77ef7d5887a30528389382e0a74631fe2f0d (patch) | |
tree | f7a68ad144d54b0257683fc70f4b3f8d1420c32c | |
parent | 1d1bc03152e27a24a40e81384cd5a15d758f57d8 (diff) | |
download | qtlocation-mapboxgl-upstream/tvn-offline-region-init-update.tar.gz |
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java | 45 |
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 // |