diff --git a/app/src/main/java/fr/chteufleur/mytrackingdog/MainActivity.java b/app/src/main/java/fr/chteufleur/mytrackingdog/MainActivity.java
index cbeb362..c46819d 100644
--- a/app/src/main/java/fr/chteufleur/mytrackingdog/MainActivity.java
+++ b/app/src/main/java/fr/chteufleur/mytrackingdog/MainActivity.java
@@ -16,8 +16,11 @@ import android.support.annotation.NonNull;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
+import android.util.Log;
+import android.view.DragEvent;
import android.view.Menu;
import android.view.MenuItem;
+import android.view.MotionEvent;
import android.view.Surface;
import android.view.View;
import android.view.WindowManager;
@@ -76,6 +79,7 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
private Button start_stop_trace;
private Button start_stop_dog_trace;
private Button add_object;
+ private Button center_button;
private TextView textViewCurrentLocation;
private MyLocation lastLocation = null;
@@ -116,6 +120,24 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
// Add the ability to zoom with 2 fingers
map.setBuiltInZoomControls(false);
map.setMultiTouchControls(true);
+ map.setOnTouchListener(new View.OnTouchListener() {
+ @Override
+ public boolean onTouch(View view, MotionEvent motionEvent) {
+ map.onTouchEvent(motionEvent);
+ if (mLocationOverlay != null) {
+ mLocationOverlay.disableFollowLocation();
+ }
+ return false;
+ }
+ });
+
+ center_button = findViewById(R.id.center_button);
+ center_button.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ mLocationOverlay.enableFollowLocation();
+ }
+ });
// Center the map on a lat/lon
IMapController mapController = map.getController();
@@ -498,7 +520,9 @@ public class MainActivity extends AppCompatActivity implements IOrientationConsu
MyLocation loc = serviceGps.getCurrentLocation();
if (loc != null) {
GeoPoint currentPoint = new GeoPoint(loc.getLatitude(), loc.getLongitude(), loc.getAltitude());
- map.getController().setCenter(currentPoint);
+ if (mLocationOverlay.isFollowLocationEnabled()) {
+ map.getController().setCenter(currentPoint);
+ }
if (serviceGps.isTraceurActivated()) {
updateTrailTrace();
if (lastLocation != null) {
diff --git a/app/src/main/res/layout/main.xml b/app/src/main/res/layout/main.xml
index f6480de..6a5a34d 100644
--- a/app/src/main/res/layout/main.xml
+++ b/app/src/main/res/layout/main.xml
@@ -34,6 +34,16 @@
+
+
+