diff options
-rw-r--r-- | altoslib/AltosMap.java | 10 | ||||
-rw-r--r-- | altoslib/AltosMapLoader.java | 11 |
2 files changed, 11 insertions, 10 deletions
diff --git a/altoslib/AltosMap.java b/altoslib/AltosMap.java index d39c3302..85f95eef 100644 --- a/altoslib/AltosMap.java +++ b/altoslib/AltosMap.java @@ -248,7 +248,9 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { public void add_mark(double lat, double lon, int state) { synchronized(marks) { - marks.add(map_interface.new_mark(lat, lon, state)); + AltosMapMark mark = map_interface.new_mark(lat, lon, state); + if (mark != null) + marks.add(mark); } repaint(); } @@ -303,11 +305,15 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { } } - public void set_load_params(double lat, double lon, int radius, AltosMapTileListener listener) { + public void set_load_params(int new_zoom, int new_type, double lat, double lon, int radius, AltosMapTileListener listener) { + if (AltosMap.min_zoom <= new_zoom && new_zoom <= AltosMap.max_zoom) + zoom = new_zoom; + maptype = new_type; load_centre = new AltosLatLon(lat, lon); load_radius = radius; load_listener = listener; centre(lat, lon); + tiles.clear(); make_tiles(); for (AltosMapTile tile : tiles.values()) { tile.add_store_listener(this); diff --git a/altoslib/AltosMapLoader.java b/altoslib/AltosMapLoader.java index 5db20cf8..cf7169ba 100644 --- a/altoslib/AltosMapLoader.java +++ b/altoslib/AltosMapLoader.java @@ -41,12 +41,9 @@ public class AltosMapLoader implements AltosMapTileListener { int layers_loaded; AltosMap map; - AltosMapCache cache; public void do_load() { - map.set_zoom(cur_z + AltosMap.default_zoom); - map.set_maptype(cur_type); - map.set_load_params(latitude, longitude, radius, this); + map.set_load_params(cur_z + AltosMap.default_zoom, cur_type, latitude, longitude, radius, this); } public int next_type(int start) { @@ -132,12 +129,10 @@ public class AltosMapLoader implements AltosMapTileListener { next_load(); } - public AltosMapCache cache() { return cache; } + public AltosMapCache cache() { return map.cache(); } - public AltosMapLoader(AltosMap map, AltosMapCache cache, - AltosMapLoaderListener listener) { + public AltosMapLoader(AltosMap map, AltosMapLoaderListener listener) { this.map = map; - this.cache = cache; this.listener = listener; } } |