altos/telefireone-v2.0: Remove build of ao_product.h from Makefile
[fw/altos] / altoslib / AltosMapTile.java
index d921fd1023bc5d8653cd43ad63a9c6d39f7ae2b7..6318c40d0c46a66ed0078859ae26818a0b348585 100644 (file)
@@ -3,7 +3,8 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -15,7 +16,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_10;
+package org.altusmetrum.altoslib_13;
 
 import java.io.*;
 import java.util.*;
@@ -38,43 +39,23 @@ public class AltosMapTile implements AltosFontListener, AltosMapStoreListener {
        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) {
@@ -132,11 +113,7 @@ public class AltosMapTile implements AltosFontListener, AltosMapStoreListener {
                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);
-       }
 }