X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosMap.java;h=a2855192ca1805a3f9098829ab7ea752e8bf1ecb;hb=0f8272852b12cf7a349cd9fd07f17c55cdb335a1;hp=d68cff7a6f99028791c1225336a6a8f7a2fae66a;hpb=6ecd75a7abb5fcee440f7672082013088634680b;p=fw%2Faltos diff --git a/altoslib/AltosMap.java b/altoslib/AltosMap.java index d68cff7a..a2855192 100644 --- a/altoslib/AltosMap.java +++ b/altoslib/AltosMap.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_7; +package org.altusmetrum.altoslib_8; import java.io.*; import java.lang.*; @@ -113,12 +113,12 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { map_interface.debug(format, arguments); } - public AltosPointInt floor(AltosPointDouble point) { + static public AltosPointInt floor(AltosPointDouble point) { return new AltosPointInt ((int) Math.floor(point.x / AltosMap.px_size) * AltosMap.px_size, (int) Math.floor(point.y / AltosMap.px_size) * AltosMap.px_size); } - public AltosPointInt ceil(AltosPointDouble point) { + static public AltosPointInt ceil(AltosPointDouble point) { return new AltosPointInt ((int) Math.ceil(point.x / AltosMap.px_size) * AltosMap.px_size, (int) Math.ceil(point.y / AltosMap.px_size) * AltosMap.px_size); } @@ -230,23 +230,23 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { if (!gps.locked && gps.nsat < 4) return; - switch (state.state) { + switch (state.state()) { case AltosLib.ao_flight_boost: if (!have_boost) { - add_mark(gps.lat, gps.lon, state.state); + add_mark(gps.lat, gps.lon, state.state()); have_boost = true; } break; case AltosLib.ao_flight_landed: if (!have_landed) { - add_mark(gps.lat, gps.lon, state.state); + add_mark(gps.lat, gps.lon, state.state()); have_landed = true; } break; } if (path != null) { - AltosMapRectangle damage = path.add(gps.lat, gps.lon, state.state); + AltosMapRectangle damage = path.add(gps.lat, gps.lon, state.state()); if (damage != null) repaint(damage, AltosMapPath.stroke_width); @@ -324,6 +324,7 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { if (!tiles.containsKey(point)) { AltosLatLon ul = transform.lat_lon(point); AltosLatLon center = transform.lat_lon(new AltosPointDouble(x + AltosMap.px_size/2, y + AltosMap.px_size/2)); + debug("make tile %g,%g\n", center.lat, center.lon); AltosMapTile tile = map_interface.new_tile(this, ul, center, zoom, maptype, px_size); tiles.put(point, tile); } @@ -357,6 +358,9 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { if (centre != null) make_tiles(); + if (transform == null) + return; + for (AltosMapTile tile : tiles.values()) tile.paint(transform);