]> git.street.me.uk Git - andy/viking.git/blame - src/osm.c
Add copyright for files vikgoto.h & vikgotoxmltool.h
[andy/viking.git] / src / osm.c
CommitLineData
67209ca8
GB
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 */
8c00358d
GB
21#ifdef HAVE_CONFIG_H
22#include "config.h"
23#endif
67209ca8 24
92806042 25#include <glib/gi18n.h>
67209ca8 26
67209ca8 27#include "osm.h"
f7d8a3c2 28#include "vikmapslayer.h"
8eb12ac6 29#include "vikslippymapsource.h"
92806042
GB
30#include "vikwebtoolcenter.h"
31#include "vikexttools.h"
5149a69d
GB
32#include "vikgotoxmltool.h"
33#include "vikgoto.h"
4f92972b 34
67209ca8
GB
35/* initialisation */
36void osm_init () {
0f08bd0d
GB
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",
6693f5f9 43 "check-file-server-time", TRUE,
05dbd9ba 44 "use-etag", FALSE,
0f08bd0d
GB
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",
05dbd9ba
JJ
52 "check-file-server-time", FALSE,
53 "use-etag", TRUE,
0f08bd0d
GB
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",
6693f5f9 61 "check-file-server-time", TRUE,
05dbd9ba 62 "use-etag", FALSE,
0f08bd0d
GB
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)",
218cdecd
GB
68 "hostname", "b.tile.opencyclemap.org",
69 "url", "/cycle/%d/%d/%d.png",
6693f5f9 70 "check-file-server-time", TRUE,
05dbd9ba 71 "use-etag", FALSE,
0f08bd0d 72 NULL));
db03733a
GB
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);
92806042
GB
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 );
5149a69d
GB
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 );
54cef17b
GB
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 );
67209ca8
GB
113}
114