summaryrefslogtreecommitdiff
path: root/packages/viking/viking-0.9.6/viking-openaerialmap.patch
diff options
context:
space:
mode:
authorStanislav Brabec <utx@penguin.cz>2008-09-05 14:38:04 +0000
committerStanislav Brabec <utx@penguin.cz>2008-09-05 14:38:04 +0000
commit6cdd43a86f465293cfb1d4e44d60dd4620f3d1f9 (patch)
tree353557abad713a0aebc7ee3a6eb4a1f9061b0988 /packages/viking/viking-0.9.6/viking-openaerialmap.patch
parent7ec0a17ee44c992d5afdd4c5f5e3c10bc7941d22 (diff)
viking: Added new package: program to manage GPS data.
Diffstat (limited to 'packages/viking/viking-0.9.6/viking-openaerialmap.patch')
-rw-r--r--packages/viking/viking-0.9.6/viking-openaerialmap.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/packages/viking/viking-0.9.6/viking-openaerialmap.patch b/packages/viking/viking-0.9.6/viking-openaerialmap.patch
new file mode 100644
index 0000000000..5344e353f0
--- /dev/null
+++ b/packages/viking/viking-0.9.6/viking-openaerialmap.patch
@@ -0,0 +1,49 @@
+Author: Stanislav Brabec <sbrabec@suse.cz>
+
+This patch adds support for OpenAerialMap, asking server to provide OSM-compatible tiles.
+This solution is not the fastest one, but it is far the simplest solution.
+
+================================================================================
+--- viking-0.9.6/src/osm.c
++++ viking-0.9.6/src/osm.c
+@@ -36,6 +36,7 @@
+ static int osm_maplint_download ( MapCoord *src, const gchar *dest_fn );
+ static int osm_mapnik_download ( MapCoord *src, const gchar *dest_fn );
+ static int osm_osmarender_download ( MapCoord *src, const gchar *dest_fn );
++static int oam_download ( MapCoord *src, const gchar *dest_fn );
+ static int bluemarble_download ( MapCoord *src, const gchar *dest_fn );
+
+ static DownloadOptions osm_options = { NULL, 0, a_check_map_file };
+@@ -45,12 +46,16 @@
+ VikMapsLayer_MapType osmarender_type = { 12, 256, 256, VIK_VIEWPORT_DRAWMODE_MERCATOR, osm_coord_to_mapcoord, osm_mapcoord_to_center_coord, osm_osmarender_download };
+ VikMapsLayer_MapType mapnik_type = { 13, 256, 256, VIK_VIEWPORT_DRAWMODE_MERCATOR, osm_coord_to_mapcoord, osm_mapcoord_to_center_coord, osm_mapnik_download }; VikMapsLayer_MapType maplint_type = { 14, 256, 256, VIK_VIEWPORT_DRAWMODE_MERCATOR, osm_coord_to_mapcoord, osm_mapcoord_to_center_coord, osm_maplint_download };
+
++ VikMapsLayer_MapType oam_type = { 17, 256, 256, VIK_VIEWPORT_DRAWMODE_MERCATOR, osm_coord_to_mapcoord, osm_mapcoord_to_center_coord, oam_download };
++
+ VikMapsLayer_MapType bluemarble_type = { 15, 256, 256, VIK_VIEWPORT_DRAWMODE_MERCATOR, osm_coord_to_mapcoord, osm_mapcoord_to_center_coord, bluemarble_download };
+
+ maps_layer_register_type("OpenStreetMap (Osmarender)", 12, &osmarender_type);
+ maps_layer_register_type("OpenStreetMap (Mapnik)", 13, &mapnik_type);
+ maps_layer_register_type("OpenStreetMap (Maplint)", 14, &maplint_type);
+
++ maps_layer_register_type("OpenAerialMap", 17, &oam_type);
++
+ maps_layer_register_type("BlueMarble", 15, &bluemarble_type);
+ }
+
+@@ -126,6 +131,15 @@
+ g_free ( uri );
+ return res;
+ }
++
++static int oam_download ( MapCoord *src, const gchar *dest_fn )
++{
++ int res = -1;
++ gchar *uri = g_strdup_printf ( "/tiles/1.0.0/openaerialmap-900913/%d/%d/%d.jpg", 17-src->scale, src->x, src->y );
++ res = a_http_download_get_url ( "tile.openaerialmap.org", uri, dest_fn, &osm_options );
++ g_free ( uri );
++ return res;
++}
+
+ static int bluemarble_download ( MapCoord *src, const gchar *dest_fn )
+ {