]> git.street.me.uk Git - andy/viking.git/blame_incremental - src/osm.c
Add copyright for files vikgoto.h & vikgotoxmltool.h
[andy/viking.git] / src / osm.c
... / ...
CommitLineData
1/*
2 * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
3 *
4 * Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 *
20 */
21#ifdef HAVE_CONFIG_H
22#include "config.h"
23#endif
24
25#include <glib/gi18n.h>
26
27#include "osm.h"
28#include "vikmapslayer.h"
29#include "vikslippymapsource.h"
30#include "vikwebtoolcenter.h"
31#include "vikexttools.h"
32#include "vikgotoxmltool.h"
33#include "vikgoto.h"
34
35/* initialisation */
36void osm_init () {
37 VikMapSource *osmarender_type =
38 VIK_MAP_SOURCE(g_object_new(VIK_TYPE_SLIPPY_MAP_SOURCE,
39 "id", 12,
40 "label", "OpenStreetMap (Osmarender)",
41 "hostname", "tah.openstreetmap.org",
42 "url", "/Tiles/tile/%d/%d/%d.png",
43 "check-file-server-time", TRUE,
44 "use-etag", FALSE,
45 NULL));
46 VikMapSource *mapnik_type =
47 VIK_MAP_SOURCE(g_object_new(VIK_TYPE_SLIPPY_MAP_SOURCE,
48 "id", 13,
49 "label", "OpenStreetMap (Mapnik)",
50 "hostname", "tile.openstreetmap.org",
51 "url", "/%d/%d/%d.png",
52 "check-file-server-time", FALSE,
53 "use-etag", TRUE,
54 NULL));
55 VikMapSource *maplint_type =
56 VIK_MAP_SOURCE(g_object_new(VIK_TYPE_SLIPPY_MAP_SOURCE,
57 "id", 14,
58 "label", "OpenStreetMap (Maplint)",
59 "hostname", "tah.openstreetmap.org",
60 "url", "/Tiles/maplint.php/%d/%d/%d.png",
61 "check-file-server-time", TRUE,
62 "use-etag", FALSE,
63 NULL));
64 VikMapSource *cycle_type =
65 VIK_MAP_SOURCE(g_object_new(VIK_TYPE_SLIPPY_MAP_SOURCE,
66 "id", 17,
67 "label", "OpenStreetMap (Cycle)",
68 "hostname", "b.tile.opencyclemap.org",
69 "url", "/cycle/%d/%d/%d.png",
70 "check-file-server-time", TRUE,
71 "use-etag", FALSE,
72 NULL));
73
74 maps_layer_register_map_source (osmarender_type);
75 maps_layer_register_map_source (mapnik_type);
76 maps_layer_register_map_source (maplint_type);
77 maps_layer_register_map_source (cycle_type);
78
79 // Webtools
80 VikWebtoolCenter *webtool = NULL;
81 webtool = vik_webtool_center_new_with_members ( _("OSM (view)"), "http://openstreetmap.org/?lat=%s&lon=%s&zoom=%d&layers=B000FTF" );
82 vik_ext_tools_register ( VIK_EXT_TOOL ( webtool ) );
83 g_object_unref ( webtool );
84
85 webtool = vik_webtool_center_new_with_members ( _("OSM (edit)"), "http://www.openstreetmap.org/edit?lat=%s&lon=%s&zoom=%d" );
86 vik_ext_tools_register ( VIK_EXT_TOOL ( webtool ) );
87 g_object_unref ( webtool );
88
89 webtool = vik_webtool_center_new_with_members ( _("OSM (render)"), "http://www.informationfreeway.org/?lat=%s&lon=%s&zoom=%d&layers=B0000F000F" );
90 vik_ext_tools_register ( VIK_EXT_TOOL ( webtool ) );
91 g_object_unref ( webtool );
92
93 // Goto
94 VikGotoXmlTool *nominatim = VIK_GOTO_XML_TOOL ( g_object_new ( VIK_GOTO_XML_TOOL_TYPE, "label", "OSM Nominatim",
95 "url-format", "http://nominatim.openstreetmap.org/search?q=%s&format=xml",
96 "lat-path", "/searchresults/place",
97 "lat-attr", "lat",
98 "lon-path", "/searchresults/place",
99 "lon-attr", "lon",
100 NULL ) );
101 vik_goto_register ( VIK_GOTO_TOOL ( nominatim ) );
102 g_object_unref ( nominatim );
103
104 VikGotoXmlTool *namefinder = VIK_GOTO_XML_TOOL ( g_object_new ( VIK_GOTO_XML_TOOL_TYPE, "label", "OSM Name finder",
105 "url-format", "http://gazetteer.openstreetmap.org/namefinder/search.xml?find=%s&max=1",
106 "lat-path", "/searchresults/named",
107 "lat-attr", "lat",
108 "lon-path", "/searchresults/named",
109 "lon-attr", "lon",
110 NULL ) );
111 vik_goto_register ( VIK_GOTO_TOOL ( namefinder ) );
112 g_object_unref ( namefinder );
113}
114