diff options
| author | Bdale Garbee <bdale@gag.com> | 2016-06-17 10:00:10 -0600 | 
|---|---|---|
| committer | Bdale Garbee <bdale@gag.com> | 2016-06-17 10:00:10 -0600 | 
| commit | 31cf047113ec72a78f4b500223a2c6be23bc86fd (patch) | |
| tree | 4f171ddf642fb06bd1b520cd98a242efe5f8320f /altoslib/AltosMapTile.java | |
| parent | 2f0c977c747824d0798550ac64eceb1d66c50efd (diff) | |
| parent | afe74c067a31ce420d0d4cdac2069c1d258a5114 (diff) | |
Merge branch 'master' into branch-1.6
Diffstat (limited to 'altoslib/AltosMapTile.java')
| -rw-r--r-- | altoslib/AltosMapTile.java | 68 | 
1 files changed, 22 insertions, 46 deletions
| diff --git a/altoslib/AltosMapTile.java b/altoslib/AltosMapTile.java index fdc8ff65..b65f6fc1 100644 --- a/altoslib/AltosMapTile.java +++ b/altoslib/AltosMapTile.java @@ -15,12 +15,12 @@   * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.   */ -package org.altusmetrum.altoslib_10; +package org.altusmetrum.altoslib_11;  import java.io.*;  import java.util.*; -public abstract class AltosMapTile implements AltosFontListener, AltosMapStoreListener { +public class AltosMapTile implements AltosFontListener, AltosMapStoreListener {  	LinkedList<AltosMapTileListener>	listeners = new LinkedList<AltosMapTileListener>();  	public AltosLatLon	upper_left, center;  	public int		px_size; @@ -38,43 +38,23 @@ public abstract class AltosMapTile implements AltosFontListener, AltosMapStoreLi  	static public final int	bad_request = 4;/* downloading failed */  	static public final int	forbidden = 5;	/* downloading failed */ -	private File map_file() { -		double lat = center.lat; -		double lon = center.lon; -		char chlat = lat < 0 ? 'S' : 'N'; -		char chlon = lon < 0 ? 'W' : 'E'; - -		if (lat < 0) lat = -lat; -		if (lon < 0) lon = -lon; -		String maptype_string = String.format("%s-", AltosMap.maptype_names[maptype]); -		String format_string; -		if (maptype == AltosMap.maptype_hybrid || maptype == AltosMap.maptype_satellite || maptype == AltosMap.maptype_terrain) -			format_string = "jpg"; -		else -			format_string = "png"; -		return new File(AltosPreferences.mapdir(), -				String.format("map-%c%.6f,%c%.6f-%s%d%s.%s", -					      chlat, lat, chlon, lon, maptype_string, zoom, scale == 1 ? "" : String.format("-%d", scale), format_string)); -	} - -	private String map_url() { -		String format_string; -		int z = zoom; - -		if (maptype == AltosMap.maptype_hybrid || maptype == AltosMap.maptype_satellite || maptype == AltosMap.maptype_terrain) -			format_string = "jpg"; -		else -			format_string = "png32"; - -		for (int s = 1; s < scale; s <<= 1) -			z--; - -		if (AltosVersion.has_google_maps_api_key()) -			return String.format("http://maps.google.com/maps/api/staticmap?center=%.6f,%.6f&zoom=%d&size=%dx%d&scale=%d&sensor=false&maptype=%s&format=%s&key=%s", -					     center.lat, center.lon, z, px_size/scale, px_size/scale, scale, AltosMap.maptype_names[maptype], format_string, AltosVersion.google_maps_api_key); -		else -			return String.format("http://maps.google.com/maps/api/staticmap?center=%.6f,%.6f&zoom=%d&size=%dx%d&scale=%d&sensor=false&maptype=%s&format=%s", -					     center.lat, center.lon, z, px_size/scale, px_size/scale, AltosMap.maptype_names[maptype], format_string); +	static public String status_name(int status) { +		switch (status) { +		case loaded: +			return "loaded"; +		case fetched: +			return "fetched"; +		case fetching: +			return "fetching"; +		case failed: +			return "failed"; +		case bad_request: +			return "bad_request"; +		case forbidden: +			return "forbidden"; +		default: +			return "unknown"; +		}  	}  	public void font_size_changed(int font_size) { @@ -87,7 +67,6 @@ public abstract class AltosMapTile implements AltosFontListener, AltosMapStoreLi  	}  	public void notify_store(AltosMapStore store, int status) { -//		System.out.printf("AltosMapTile.notify_store %d\n", status);  		notify_listeners(status);  	} @@ -99,7 +78,8 @@ public abstract class AltosMapTile implements AltosFontListener, AltosMapStoreLi  		notify_listeners(status);  	} -	public abstract void paint(AltosMapTransform t); +	public void paint(AltosMapTransform t) { +	}  	public AltosImage get_image() {  		if (cache == null) @@ -132,11 +112,7 @@ public abstract class AltosMapTile implements AltosFontListener, AltosMapStoreLi  		this.px_size = px_size;  		this.scale = scale; -		store = AltosMapStore.get(map_url(), map_file()); +		store = AltosMapStore.get(center, zoom, maptype, px_size, scale);  		store.add_listener(this);  	} - -	public AltosMapTile(AltosMapCache cache, AltosLatLon upper_left, AltosLatLon center, int zoom, int maptype, int px_size) { -		this(cache, upper_left, center, zoom, maptype, px_size, 1); -	}  } | 
