diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location')
4 files changed, 72 insertions, 45 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationFragmentActivity.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationFragmentActivity.kt index 5626b82ccc..f230872496 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationFragmentActivity.kt +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationFragmentActivity.kt @@ -21,6 +21,7 @@ import com.mapbox.mapboxsdk.geometry.LatLng import com.mapbox.mapboxsdk.maps.MapView import com.mapbox.mapboxsdk.maps.MapboxMap import com.mapbox.mapboxsdk.location.LocationComponent +import com.mapbox.mapboxsdk.maps.Style import com.mapbox.mapboxsdk.testapp.R import kotlinx.android.synthetic.main.activity_location_layer_fragment.* import java.lang.Exception @@ -104,10 +105,12 @@ class LocationFragmentActivity : AppCompatActivity() { mapView.onCreate(savedInstanceState) mapView.getMapAsync { mapboxMap = it - component = mapboxMap.locationComponent - component?.activateLocationComponent(activity) - component?.isLocationComponentEnabled = true - component?.locationEngine?.getLastLocation(this) + it.setStyle(Style.MAPBOX_STREETS) { _ -> + component = mapboxMap.locationComponent + component?.activateLocationComponent(activity) + component?.isLocationComponentEnabled = true + component?.locationEngine?.getLastLocation(this) + } } } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationMapChangeActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationMapChangeActivity.java index 103aebd456..df8617aa1b 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationMapChangeActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationMapChangeActivity.java @@ -14,6 +14,7 @@ import com.mapbox.mapboxsdk.location.modes.RenderMode; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.testapp.R; import java.util.List; @@ -34,11 +35,10 @@ public class LocationMapChangeActivity extends AppCompatActivity implements OnMa stylesFab.setOnClickListener(v -> { if (mapboxMap != null) { - mapboxMap.setStyleUrl(Utils.getNextStyle()); + mapboxMap.setStyle(new Style.Builder().fromUrl(Utils.getNextStyle())); } }); - mapView.setStyleUrl(Utils.getNextStyle()); mapView.onCreate(savedInstanceState); if (PermissionsManager.areLocationPermissionsGranted(this)) { @@ -73,12 +73,14 @@ public class LocationMapChangeActivity extends AppCompatActivity implements OnMa @Override public void onMapReady(@NonNull MapboxMap mapboxMap) { this.mapboxMap = mapboxMap; - activateLocationComponent(); + mapboxMap.setStyle(new Style.Builder().fromUrl(Utils.getNextStyle()), + style -> activateLocationComponent()); } @SuppressLint("MissingPermission") private void activateLocationComponent() { LocationComponent locationComponent = mapboxMap.getLocationComponent(); + locationComponent.onStart(); locationComponent.activateLocationComponent(this); locationComponent.setLocationComponentEnabled(true); locationComponent.setRenderMode(RenderMode.COMPASS); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationModesActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationModesActivity.java index 009b738ff0..4abf68fc19 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationModesActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/LocationModesActivity.java @@ -12,6 +12,8 @@ import android.view.MenuItem; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Toast; + +import com.mapbox.android.core.location.LocationEngineRequest; import com.mapbox.android.core.permissions.PermissionsListener; import com.mapbox.android.core.permissions.PermissionsManager; import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; @@ -121,32 +123,34 @@ public class LocationModesActivity extends AppCompatActivity implements OnMapRea public void onMapReady(@NonNull MapboxMap mapboxMap) { this.mapboxMap = mapboxMap; - int[] padding; - if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { - padding = new int[] {0, 750, 0, 0}; - } else { - padding = new int[] {0, 250, 0, 0}; - } - - LocationComponentOptions options = LocationComponentOptions.builder(this) - .padding(padding) - .layerBelow("waterway-label") - .build(); + mapboxMap.getStyle(style -> { + int[] padding; + if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { + padding = new int[] {0, 750, 0, 0}; + } else { + padding = new int[] {0, 250, 0, 0}; + } - locationComponent = mapboxMap.getLocationComponent(); - locationComponent.activateLocationComponent(this, true, - new LocationEngineRequest.Builder(750) - .setFastestInterval(750) - .setPriority(LocationEngineRequest.PRIORITY_HIGH_ACCURACY) - .build() - ); - locationComponent.applyStyle(options); - locationComponent.setLocationComponentEnabled(true); - locationComponent.addOnLocationClickListener(this); - locationComponent.addOnCameraTrackingChangedListener(this); - locationComponent.setCameraMode(cameraMode); - setRendererMode(renderMode); - locationComponent.forceLocationUpdate(lastLocation); + LocationComponentOptions options = LocationComponentOptions.builder(this) + .padding(padding) + .layerBelow("waterway-label") + .build(); + + locationComponent = mapboxMap.getLocationComponent(); + locationComponent.activateLocationComponent(this, true, + new LocationEngineRequest.Builder(750) + .setFastestInterval(750) + .setPriority(LocationEngineRequest.PRIORITY_HIGH_ACCURACY) + .build() + ); + locationComponent.applyStyle(options); + locationComponent.setLocationComponentEnabled(true); + locationComponent.addOnLocationClickListener(this); + locationComponent.addOnCameraTrackingChangedListener(this); + locationComponent.setCameraMode(cameraMode); + setRendererMode(renderMode); + locationComponent.forceLocationUpdate(lastLocation); + }); } @Override @@ -187,6 +191,10 @@ public class LocationModesActivity extends AppCompatActivity implements OnMapRea } private void toggleStyle() { + if (locationComponent == null) { + return; + } + customStyle = !customStyle; locationComponent.applyStyle( this, @@ -194,11 +202,19 @@ public class LocationModesActivity extends AppCompatActivity implements OnMapRea } private void toggleMapStyle() { - String styleUrl = mapboxMap.getStyleUrl().contentEquals(Style.DARK) ? Style.LIGHT : Style.DARK; - mapboxMap.setStyle(styleUrl); + if (locationComponent == null) { + return; + } + + String styleUrl = Style.DARK.equals(mapboxMap.getStyle().getUrl()) ? Style.LIGHT : Style.DARK; + mapboxMap.setStyle(new Style.Builder().fromUrl(styleUrl)); } private void disableGesturesManagement() { + if (locationComponent == null) { + return; + } + LocationComponentOptions options = locationComponent .getLocationComponentOptions() .toBuilder() @@ -208,6 +224,10 @@ public class LocationModesActivity extends AppCompatActivity implements OnMapRea } private void enableGesturesManagement() { + if (locationComponent == null) { + return; + } + LocationComponentOptions options = locationComponent .getLocationComponentOptions() .toBuilder() diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/ManualLocationUpdatesActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/ManualLocationUpdatesActivity.java index 50f86efbbd..8b257371b6 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/ManualLocationUpdatesActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/location/ManualLocationUpdatesActivity.java @@ -6,7 +6,6 @@ import android.support.annotation.NonNull; import android.support.design.widget.FloatingActionButton; import android.support.v7.app.AppCompatActivity; import android.widget.Toast; - import com.mapbox.android.core.location.LocationEngine; import com.mapbox.android.core.location.LocationEngineProvider; import com.mapbox.android.core.location.LocationEngineRequest; @@ -18,6 +17,7 @@ import com.mapbox.mapboxsdk.location.modes.RenderMode; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.testapp.R; import java.util.List; @@ -107,16 +107,18 @@ public class ManualLocationUpdatesActivity extends AppCompatActivity implements @SuppressLint("MissingPermission") @Override public void onMapReady(@NonNull MapboxMap mapboxMap) { - locationComponent = mapboxMap.getLocationComponent(); - locationComponent.activateLocationComponent( - this, - locationEngine, - new LocationEngineRequest.Builder(500) - .setFastestInterval(500) - .setPriority(LocationEngineRequest.PRIORITY_HIGH_ACCURACY) - .build()); - locationComponent.setLocationComponentEnabled(true); - locationComponent.setRenderMode(RenderMode.COMPASS); + mapboxMap.setStyle(new Style.Builder().fromUrl(Style.MAPBOX_STREETS), style -> { + locationComponent = mapboxMap.getLocationComponent(); + locationComponent.activateLocationComponent( + this, + locationEngine, + new LocationEngineRequest.Builder(500) + .setFastestInterval(500) + .setPriority(LocationEngineRequest.PRIORITY_HIGH_ACCURACY) + .build()); + locationComponent.setLocationComponentEnabled(true); + locationComponent.setRenderMode(RenderMode.COMPASS); + }); } @Override |