From 1b683dee83fcec1847da8e417bb964c4bc0d3014 Mon Sep 17 00:00:00 2001 From: Ashish Kumar Date: Sat, 24 Nov 2018 22:56:00 +0530 Subject: [PATCH] Bugfix/nearbby zoomin (#2018) * Bug Fix #1987 * Increased the default zoom level in nearby to 12 so that user doesnot have to zoom in to see nearby places * updated comments regarding zoom level * updated zoom level to 14 * opening/closing bottom sheet bar would not more hinder the zoom level of the map --- .../nrw/commons/nearby/NearbyMapFragment.java | 56 +++---------------- 1 file changed, 7 insertions(+), 49 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java index 628ab72f9..c8c1d3ebd 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyMapFragment.java @@ -135,6 +135,8 @@ public class NearbyMapFragment extends DaggerFragment { @Inject BookmarkLocationsDao bookmarkLocationDao; + private static final double ZOOM_LEVEL = 14f; + public NearbyMapFragment() { } @@ -304,7 +306,7 @@ public class NearbyMapFragment extends DaggerFragment { curMapBoxLatLng.getLongitude()) : curMapBoxLatLng ) // Sets the new camera position .zoom(isBottomListSheetExpanded ? - 11 // zoom level is fixed to 11 when bottom sheet is expanded + ZOOM_LEVEL // zoom level is fixed when bottom sheet is expanded :mapboxMap.getCameraPosition().zoom) // Same zoom level .build(); }else { @@ -314,7 +316,7 @@ public class NearbyMapFragment extends DaggerFragment { curMapBoxLatLng.getLongitude()) : curMapBoxLatLng ) // Sets the new camera position .zoom(isBottomListSheetExpanded ? - 11 // zoom level is fixed to 11 when bottom sheet is expanded + ZOOM_LEVEL // zoom level is fixed when bottom sheet is expanded :mapboxMap.getCameraPosition().zoom) // Same zoom level .build(); } @@ -325,47 +327,6 @@ public class NearbyMapFragment extends DaggerFragment { } } - /** - * Updates camera position according to list sheet status. If list sheet is collapsed, camera - * focus should be in the center. If list sheet is expanded, camera focus should be visible - * on the gap between list sheet and tab layout. - * @param isBottomListSheetExpanded - */ - private void updateMapCameraAccordingToBottomSheet(boolean isBottomListSheetExpanded) { - CameraPosition position; - this.isBottomListSheetExpanded = isBottomListSheetExpanded; - if (mapboxMap != null && curLatLng != null) { - if (isBottomListSheetExpanded) { - // Make camera to follow user on location change - if (ViewUtil.isPortrait(getActivity())) { - position = new CameraPosition.Builder() - .target(new LatLng(curLatLng.getLatitude() - CAMERA_TARGET_SHIFT_FACTOR_PORTRAIT, - curLatLng.getLongitude())) // Sets the new camera target above - // current to make it visible when sheet is expanded - .zoom(11) // Fixed zoom level - .build(); - } else { - position = new CameraPosition.Builder() - .target(new LatLng(curLatLng.getLatitude() - CAMERA_TARGET_SHIFT_FACTOR_LANDSCAPE, - curLatLng.getLongitude())) // Sets the new camera target above - // current to make it visible when sheet is expanded - .zoom(11) // Fixed zoom level - .build(); - } - - } else { - // Make camera to follow user on location change - position = new CameraPosition.Builder() - .target(new LatLng(curLatLng.getLatitude(), - curLatLng.getLongitude())) // Sets the new camera target to curLatLng - .zoom(mapboxMap.getCameraPosition().zoom) // Same zoom level - .build(); - } - mapboxMap.animateCamera(CameraUpdateFactory - .newCameraPosition(position), 1000); - } - } - private void initViews() { Timber.d("initViews called"); bottomSheetList = ((NearbyFragment)getParentFragment()).view.findViewById(R.id.bottom_sheet); @@ -446,7 +407,7 @@ public class NearbyMapFragment extends DaggerFragment { curLatLng.getLongitude()) : new LatLng(curLatLng.getLatitude(), curLatLng.getLongitude(), 0)) // Sets the new camera position .zoom(isBottomListSheetExpanded ? - 11 // zoom level is fixed to 11 when bottom sheet is expanded + ZOOM_LEVEL :mapboxMap.getCameraPosition().zoom) // Same zoom level .build(); }else { @@ -456,7 +417,7 @@ public class NearbyMapFragment extends DaggerFragment { curLatLng.getLongitude()) : new LatLng(curLatLng.getLatitude(), curLatLng.getLongitude(), 0)) // Sets the new camera position .zoom(isBottomListSheetExpanded ? - 11 // zoom level is fixed to 11 when bottom sheet is expanded + ZOOM_LEVEL :mapboxMap.getCameraPosition().zoom) // Same zoom level .build(); } @@ -494,9 +455,6 @@ public class NearbyMapFragment extends DaggerFragment { public void onStateChanged(@NonNull View bottomSheet, int newState) { if (newState == BottomSheetBehavior.STATE_EXPANDED) { bottomSheetDetailsBehavior.setState(BottomSheetBehavior.STATE_HIDDEN); - updateMapCameraAccordingToBottomSheet(true); - } else { - updateMapCameraAccordingToBottomSheet(false); } } @@ -526,7 +484,7 @@ public class NearbyMapFragment extends DaggerFragment { .attributionEnabled(false) .camera(new CameraPosition.Builder() .target(new LatLng(curLatLng.getLatitude(), curLatLng.getLongitude())) - .zoom(11) + .zoom(ZOOM_LEVEL) .build()); if (!getParentFragment().getActivity().isFinishing()) {