From 7c9dc07c3dad44186c79b847485a007861c5b5c8 Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Wed, 6 Jan 2021 16:56:57 +0100 Subject: [PATCH] added keeping zoom level --- .../java/com/a1/nextlocation/data/StaticData.java | 9 +++++++++ .../a1/nextlocation/fragments/HomeFragment.java | 14 ++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/a1/nextlocation/data/StaticData.java b/app/src/main/java/com/a1/nextlocation/data/StaticData.java index 072efb5..49a5976 100644 --- a/app/src/main/java/com/a1/nextlocation/data/StaticData.java +++ b/app/src/main/java/com/a1/nextlocation/data/StaticData.java @@ -12,6 +12,15 @@ public enum StaticData { private double distanceTraveled = 0; private int locationsVisited = 0; private long timeWalkedRoute = 0; + private double zoom = 0; + + public double getZoom() { + return zoom; + } + + public void setZoom(double zoom) { + this.zoom = zoom; + } private ArrayList visitedNames = new ArrayList<>(); diff --git a/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java index c72c3d1..4e45cc5 100644 --- a/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java @@ -2,6 +2,7 @@ package com.a1.nextlocation.fragments; import android.Manifest; +import android.annotation.SuppressLint; import android.content.Context; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; @@ -11,6 +12,7 @@ import android.location.LocationManager; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.widget.ImageButton; @@ -34,6 +36,7 @@ import com.a1.nextlocation.recyclerview.LocationListManager; import org.osmdroid.api.IMapController; import org.osmdroid.config.Configuration; import org.osmdroid.util.GeoPoint; +import org.osmdroid.views.CustomZoomButtonsController; import org.osmdroid.views.MapView; import org.osmdroid.views.overlay.ItemizedIconOverlay; import org.osmdroid.views.overlay.Overlay; @@ -174,7 +177,10 @@ public class HomeFragment extends Fragment implements LocationListener { // add the zoom controller IMapController mapController = mapView.getController(); - mapController.setZoom(15.0); + if (StaticData.INSTANCE.getZoom() == 0) { + StaticData.INSTANCE.setZoom(15.0); + } + mapController.setZoom(StaticData.INSTANCE.getZoom()); // add location manager and set the start point LocationManager locationManager = (LocationManager) requireActivity().getSystemService(Context.LOCATION_SERVICE); @@ -345,14 +351,18 @@ public class HomeFragment extends Fragment implements LocationListener { } for (com.a1.nextlocation.data.Location l : LocationListManager.INSTANCE.getLocationList()) { - if (com.a1.nextlocation.data.Location.getDistance(currentLocation.getLatitude(), currentLocation.getLongitude(), l.getLat(), l.getLong()) < 10) { + // mark the location visited if we are less than 20 meters away + if (com.a1.nextlocation.data.Location.getDistance(currentLocation.getLatitude(), currentLocation.getLongitude(), l.getLat(), l.getLong()) < 20) { StaticData.INSTANCE.visitLocation(l); if (l.equals(last)) stopRoute(); } } + + StaticData.INSTANCE.setZoom(mapView.getZoomLevelDouble()); }); t.start(); + } // empty override methods for the LocationListener