summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--altoslib/AltosMap.java10
-rw-r--r--altoslib/AltosMapLoader.java11
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;
}
}