X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FAltosMapView.java;h=65cc0b958be6e9d63c2443c2c3e52ddf85d87e8c;hp=460a3a25d9b399d47ee590cb419fcaeee55a5430;hb=ee656c9d41238ab2c56859a03fe6b8ce8ff2df4e;hpb=50e709a4088f3d6846fd66cbe9b8c437b3f9c88b diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapView.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapView.java index 460a3a25..65cc0b95 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapView.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapView.java @@ -79,7 +79,11 @@ public class AltosMapView extends View implements ScaleGestureDetector.OnScaleGe line.set_b(tab.here); line.paint(); draw_bitmap(tab.pad, tab.pad_bitmap, tab.pad_off_x, tab.pad_off_y); - for (Rocket rocket : tab.rockets.values()) + + Rocket[] rockets = tab.rockets.values().toArray(new Rocket[0]); + + Arrays.sort(rockets); + for (Rocket rocket : rockets) rocket.paint(); draw_bitmap(tab.here, tab.here_bitmap, tab.here_off_x, tab.here_off_y); } @@ -111,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;