diff options
Diffstat (limited to 'altosui/AltosSiteMap.java')
| -rw-r--r-- | altosui/AltosSiteMap.java | 16 | 
1 files changed, 12 insertions, 4 deletions
diff --git a/altosui/AltosSiteMap.java b/altosui/AltosSiteMap.java index 5bf02e54..23085f3e 100644 --- a/altosui/AltosSiteMap.java +++ b/altosui/AltosSiteMap.java @@ -220,6 +220,16 @@ public class AltosSiteMap extends JScrollPane implements AltosFlightDisplay {  		return pngfile.toString();  	} +	public void initAndFinishMapAsync (final AltosSiteMapTile tile, final Point offset) { +		Thread thread = new Thread() { +				public void run() { +					initMap(offset); +					finishTileLater(tile, offset); +				} +			}; +		thread.start(); +	} +  	public void setBaseLocation(double lat, double lng) {  		for (Point k : mapTiles.keySet()) {  			AltosSiteMapTile tile = mapTiles.get(k); @@ -308,8 +318,7 @@ public class AltosSiteMap extends JScrollPane implements AltosFlightDisplay {  			AltosSiteMapTile tile = createTile(offset);  			tile.show(state, listener_state, lref, ref); -			initMap(offset); -			finishTileLater(tile, offset); +			initAndFinishMapAsync(tile, offset);  		}  		scrollRocketToVisible(pt); @@ -370,8 +379,7 @@ public class AltosSiteMap extends JScrollPane implements AltosFlightDisplay {  				if (mapTiles.containsKey(offset))  					continue;  				AltosSiteMapTile tile = createTile(offset); -				initMap(offset); -				finishTileLater(tile, offset); +				initAndFinishMapAsync(tile, offset);  			}  		}  	}  | 
