import java.util.*;
import java.io.*;
-import org.altusmetrum.altoslib_7.*;
+import org.altusmetrum.altoslib_9.*;
import android.app.Activity;
import android.graphics.*;
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);
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 {
@Override
protected void onDraw(Canvas view_canvas) {
- debug("onDraw");
if (map == null) {
debug("MapView draw without map\n");
return;
double mapAccuracy;
public void center(double lat, double lon, double accuracy) {
- if (mapAccuracy < 0 || accuracy < mapAccuracy/10) {
+ if (mapAccuracy <= 0 || accuracy < mapAccuracy/10 || (map != null && !map.has_centre())) {
if (map != null)
map.maybe_centre(lat, lon);
mapAccuracy = accuracy;