diff options
| author | Keith Packard <keithp@keithp.com> | 2015-07-11 19:53:06 -0700 |
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2015-07-11 19:53:06 -0700 |
| commit | 51bf46248ca7ee3c817e62274b7366258c9f87cf (patch) | |
| tree | e6c8777488a780ac98a9e60730bb2d543752d579 /altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java | |
| parent | b64ab2a8a25b0c22443bc77829c7f35b4f1c2455 (diff) | |
altosdroid: Pop up menu of nearby trackers on map click
This lets the user select one of potentially many overlapping
trackers, and also makes it clear when the current tracker is being
changed.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java')
| -rw-r--r-- | altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java index 5240d61c..0bf6ab20 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java @@ -253,6 +253,8 @@ public class AltosMapOffline extends View implements ScaleGestureDetector.OnScal public void select_object(AltosLatLon latlon) { if (map.transform == null) return; + ArrayList<Integer> near = new ArrayList<Integer>(); + for (Rocket rocket : sorted_rockets()) { if (rocket.position == null) { debug("rocket %d has no position\n", rocket.serial); @@ -262,10 +264,11 @@ public class AltosMapOffline extends View implements ScaleGestureDetector.OnScal debug("check select %d distance %g width %d\n", rocket.serial, distance, rocket_bitmap.getWidth()); if (distance < rocket_bitmap.getWidth() * 2.0) { debug("selecting %d\n", rocket.serial); - altos_droid.select_tracker(rocket.serial); - break; + near.add(rocket.serial); } } + if (near.size() != 0) + altos_droid.touch_trackers(near.toArray(new Integer[0])); } class Line { @@ -359,7 +362,6 @@ public class AltosMapOffline extends View implements ScaleGestureDetector.OnScal @Override protected void onDraw(Canvas view_canvas) { - debug("onDraw"); if (map == null) { debug("MapView draw without map\n"); return; |
