From 4fbe9d5a1f56178a737ede6b31e8d01a02a7543f Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 21 Jun 2015 09:36:20 -0700 Subject: [PATCH] altosdroid: Use AltosMap set_zoom_centre This keeps the center of the zoom gesture pinned to the screen. Signed-off-by: Keith Packard --- altosdroid/src/org/altusmetrum/AltosDroid/AltosMapView.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapView.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapView.java index 1572bf33..65cc0b95 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapView.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapView.java @@ -115,12 +115,13 @@ public class AltosMapView extends View implements ScaleGestureDetector.OnScaleGe public boolean onScale(ScaleGestureDetector detector) { float f = detector.getScaleFactor(); + if (f <= 0.8) { - tab.map.set_zoom(tab.map.get_zoom() - 1); + tab.map.set_zoom_centre(tab.map.get_zoom() - 1, new AltosPointInt((int) detector.getFocusX(), (int) detector.getFocusY())); return true; } if (f >= 1.2) { - tab.map.set_zoom(tab.map.get_zoom() + 1); + tab.map.set_zoom_centre(tab.map.get_zoom() + 1, new AltosPointInt((int) detector.getFocusX(), (int) detector.getFocusY())); return true; } return false; -- 2.30.2