[android] - expose MapView#setOfflineRegionDefinition
This commit is contained in:
@@ -23,7 +23,6 @@ import android.view.ViewTreeObserver;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ZoomButtonsController;
|
||||
|
||||
import com.mapbox.android.gestures.AndroidGesturesManager;
|
||||
import com.mapbox.android.telemetry.AppUserTurnstile;
|
||||
import com.mapbox.android.telemetry.Event;
|
||||
@@ -33,6 +32,8 @@ import com.mapbox.mapboxsdk.BuildConfig;
|
||||
import com.mapbox.mapboxsdk.R;
|
||||
import com.mapbox.mapboxsdk.annotations.Annotation;
|
||||
import com.mapbox.mapboxsdk.annotations.MarkerViewManager;
|
||||
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.maps.renderer.MapRenderer;
|
||||
@@ -40,9 +41,13 @@ import com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.GLSurfaceViewMapRenderer
|
||||
import com.mapbox.mapboxsdk.maps.renderer.textureview.TextureViewMapRenderer;
|
||||
import com.mapbox.mapboxsdk.maps.widgets.CompassView;
|
||||
import com.mapbox.mapboxsdk.net.ConnectivityReceiver;
|
||||
import com.mapbox.mapboxsdk.offline.OfflineRegionDefinition;
|
||||
import com.mapbox.mapboxsdk.offline.OfflineTilePyramidRegionDefinition;
|
||||
import com.mapbox.mapboxsdk.storage.FileSource;
|
||||
import com.mapbox.mapboxsdk.utils.BitmapUtils;
|
||||
|
||||
import javax.microedition.khronos.egl.EGLConfig;
|
||||
import javax.microedition.khronos.opengles.GL10;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.ref.WeakReference;
|
||||
@@ -51,9 +56,6 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import javax.microedition.khronos.egl.EGLConfig;
|
||||
import javax.microedition.khronos.opengles.GL10;
|
||||
|
||||
import static com.mapbox.mapboxsdk.maps.widgets.CompassView.TIME_MAP_NORTH_ANIMATION;
|
||||
import static com.mapbox.mapboxsdk.maps.widgets.CompassView.TIME_WAIT_IDLE;
|
||||
|
||||
@@ -535,6 +537,35 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
|
||||
nativeMapView.setStyleUrl(url);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a new style from the specified offline region definition and moves the map camera to that region.
|
||||
*
|
||||
* @param definition the offline region definition
|
||||
* @see OfflineRegionDefinition
|
||||
*/
|
||||
public void setOfflineRegionDefinition(OfflineRegionDefinition definition) {
|
||||
if (destroyed) {
|
||||
return;
|
||||
}
|
||||
|
||||
OfflineTilePyramidRegionDefinition regionDefinition = (OfflineTilePyramidRegionDefinition) definition;
|
||||
setStyleUrl(regionDefinition.getStyleURL());
|
||||
CameraPosition cameraPosition = new CameraPosition.Builder()
|
||||
.target(regionDefinition.getBounds().getCenter())
|
||||
.zoom(regionDefinition.getMinZoom())
|
||||
.build();
|
||||
|
||||
if (!isMapInitialized()) {
|
||||
mapboxMapOptions.camera(cameraPosition);
|
||||
mapboxMapOptions.minZoomPreference(regionDefinition.getMinZoom());
|
||||
mapboxMapOptions.maxZoomPreference(regionDefinition.getMaxZoom());
|
||||
return;
|
||||
}
|
||||
mapboxMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
|
||||
mapboxMap.setMinZoomPreference(regionDefinition.getMinZoom());
|
||||
mapboxMap.setMaxZoomPreference(regionDefinition.getMaxZoom());
|
||||
}
|
||||
|
||||
//
|
||||
// Rendering
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user