]> git.street.me.uk Git - andy/viking.git/blobdiff - src/osm.c
Add copyright for files vikgoto.h & vikgotoxmltool.h
[andy/viking.git] / src / osm.c
index f8586f3f8460ea33761503edc3df50d876d6282d..5503c00d942ae23bc965d0d465b86a9c2fb3d2ec 100644 (file)
--- a/src/osm.c
+++ b/src/osm.c
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  */
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib/gi18n.h>
 
 #include "osm.h"
 #include "vikmapslayer.h"
 #include "vikslippymapsource.h"
 
 #include "osm.h"
 #include "vikmapslayer.h"
 #include "vikslippymapsource.h"
+#include "vikwebtoolcenter.h"
+#include "vikexttools.h"
+#include "vikgotoxmltool.h"
+#include "vikgoto.h"
 
 /* initialisation */
 void osm_init () {
 
 /* initialisation */
 void osm_init () {
-  VikMapSource *osmarender_type = VIK_MAP_SOURCE(vik_slippy_map_source_new_with_id(12, "tah.openstreetmap.org", "/Tiles/tile/%d/%d/%d.png"));
-  VikMapSource *mapnik_type = VIK_MAP_SOURCE(vik_slippy_map_source_new_with_id( 13, "tile.openstreetmap.org", "/%d/%d/%d.png"));
-  VikMapSource *maplint_type = VIK_MAP_SOURCE(vik_slippy_map_source_new_with_id( 14, "tah.openstreetmap.org", "/Tiles/maplint.php/%d/%d/%d.png"));
-  VikMapSource *cycle_type = VIK_MAP_SOURCE(vik_slippy_map_source_new_with_id( 17, "thunderflames.org/tiles/cycle/", "%d/%d/%d.png" ));
-
-  maps_layer_register_map_source ("OpenStreetMap (Osmarender)", osmarender_type);
-  maps_layer_register_map_source ("OpenStreetMap (Mapnik)", mapnik_type);
-  maps_layer_register_map_source ("OpenStreetMap (Maplint)", maplint_type);
-  maps_layer_register_map_source ("OpenStreetMap (Cycle)", cycle_type);
+  VikMapSource *osmarender_type = 
+    VIK_MAP_SOURCE(g_object_new(VIK_TYPE_SLIPPY_MAP_SOURCE,
+                                "id", 12,
+                                "label", "OpenStreetMap (Osmarender)",
+                                "hostname", "tah.openstreetmap.org",
+                                "url", "/Tiles/tile/%d/%d/%d.png",
+                                "check-file-server-time", TRUE,
+                                "use-etag", FALSE,
+                                NULL));
+  VikMapSource *mapnik_type =
+    VIK_MAP_SOURCE(g_object_new(VIK_TYPE_SLIPPY_MAP_SOURCE,
+                                "id", 13,
+                                "label", "OpenStreetMap (Mapnik)",
+                                "hostname", "tile.openstreetmap.org",
+                                "url", "/%d/%d/%d.png",
+                                "check-file-server-time", FALSE,
+                                "use-etag", TRUE,
+                                NULL));
+  VikMapSource *maplint_type =
+    VIK_MAP_SOURCE(g_object_new(VIK_TYPE_SLIPPY_MAP_SOURCE,
+                                "id", 14,
+                                "label", "OpenStreetMap (Maplint)",
+                                "hostname", "tah.openstreetmap.org",
+                                "url", "/Tiles/maplint.php/%d/%d/%d.png",
+                                "check-file-server-time", TRUE,
+                                "use-etag", FALSE,
+                                NULL));
+  VikMapSource *cycle_type =
+    VIK_MAP_SOURCE(g_object_new(VIK_TYPE_SLIPPY_MAP_SOURCE,
+                                "id", 17,
+                                "label", "OpenStreetMap (Cycle)",
+                                "hostname", "b.tile.opencyclemap.org",
+                                "url", "/cycle/%d/%d/%d.png",
+                                "check-file-server-time", TRUE,
+                                "use-etag", FALSE,
+                                NULL));
+
+  maps_layer_register_map_source (osmarender_type);
+  maps_layer_register_map_source (mapnik_type);
+  maps_layer_register_map_source (maplint_type);
+  maps_layer_register_map_source (cycle_type);
+
+  // Webtools
+  VikWebtoolCenter *webtool = NULL;
+  webtool = vik_webtool_center_new_with_members ( _("OSM (view)"), "http://openstreetmap.org/?lat=%s&lon=%s&zoom=%d&layers=B000FTF" );
+  vik_ext_tools_register ( VIK_EXT_TOOL ( webtool ) );
+  g_object_unref ( webtool );
+
+  webtool = vik_webtool_center_new_with_members ( _("OSM (edit)"), "http://www.openstreetmap.org/edit?lat=%s&lon=%s&zoom=%d" );
+  vik_ext_tools_register ( VIK_EXT_TOOL ( webtool ) );
+  g_object_unref ( webtool );
+
+  webtool = vik_webtool_center_new_with_members ( _("OSM (render)"), "http://www.informationfreeway.org/?lat=%s&lon=%s&zoom=%d&layers=B0000F000F" );
+  vik_ext_tools_register ( VIK_EXT_TOOL ( webtool ) );
+  g_object_unref ( webtool );
+
+  // Goto
+  VikGotoXmlTool *nominatim = VIK_GOTO_XML_TOOL ( g_object_new ( VIK_GOTO_XML_TOOL_TYPE, "label", "OSM Nominatim",
+    "url-format", "http://nominatim.openstreetmap.org/search?q=%s&format=xml",
+    "lat-path", "/searchresults/place",
+    "lat-attr", "lat",
+    "lon-path", "/searchresults/place",
+    "lon-attr", "lon",
+    NULL ) );
+    vik_goto_register ( VIK_GOTO_TOOL ( nominatim ) );
+    g_object_unref ( nominatim );
+
+  VikGotoXmlTool *namefinder = VIK_GOTO_XML_TOOL ( g_object_new ( VIK_GOTO_XML_TOOL_TYPE, "label", "OSM Name finder",
+    "url-format", "http://gazetteer.openstreetmap.org/namefinder/search.xml?find=%s&max=1",
+    "lat-path", "/searchresults/named",
+    "lat-attr", "lat",
+    "lon-path", "/searchresults/named",
+    "lon-attr", "lon",
+    NULL ) );
+    vik_goto_register ( VIK_GOTO_TOOL ( namefinder ) );
+    g_object_unref ( namefinder );
 }
 
 }