X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosMap.java;h=3877c7dce7a3631419c1c7e4ac37011c493fc267;hb=HEAD;hp=b9c4bfc104fac18c35abd00a75aa64431615bdb5;hpb=b13893245e8c66b48e23bb2005ef6ce46e69744f;p=fw%2Faltos diff --git a/altoslib/AltosMap.java b/altoslib/AltosMap.java index b9c4bfc1..3877c7dc 100644 --- a/altoslib/AltosMap.java +++ b/altoslib/AltosMap.java @@ -16,7 +16,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_13; +package org.altusmetrum.altoslib_14; import java.io.*; import java.lang.*; @@ -82,7 +82,7 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { static final long auto_scroll_delay = 20 * 1000; public AltosMapTransform transform; - AltosLatLon centre; + public AltosLatLon centre; public void reset() { // nothing @@ -222,8 +222,7 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { return false; } - public void show(AltosGPS gps, double time, int state) { - + public void show(AltosGPS gps, double time, int state, double gps_height) { /* * If insufficient gps data, nothing to update */ @@ -250,7 +249,7 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { } if (path != null) { - AltosMapRectangle damage = path.add(gps.lat, gps.lon, time, state); + AltosMapRectangle damage = path.add(gps, time, state, gps_height); if (damage != null) repaint(damage, AltosMapPath.stroke_width); @@ -262,7 +261,7 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { } public void show(AltosState state, AltosListenerState listener_state) { - show(state.gps, state.time, state.state()); + show(state.gps, state.time, state.state(), state.gps_height()); } public void centre(AltosLatLon lat_lon) { @@ -290,10 +289,10 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { centre(lat_lon); } - public AltosMapMark add_mark(double lat, double lon, int state) { + public AltosMapMark add_mark(double lat, double lon, int state, String label) { AltosMapMark mark; synchronized(marks) { - mark = map_interface.new_mark(lat, lon, state); + mark = map_interface.new_mark(lat, lon, state, label); if (mark != null) marks.add(mark); } @@ -301,6 +300,10 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { return mark; } + public AltosMapMark add_mark(double lat, double lon, int state) { + return add_mark(lat, lon, state, null); + } + public void del_mark(AltosMapMark mark) { marks.remove(mark); } @@ -500,6 +503,8 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { notice_user_input(); if (path == null) return null; + if (transform == null) + return null; AltosLatLon at = transform.screen_lat_lon(new AltosPointInt(x, y)); return path.nearest(at); }