[libchamplain] Add MemphisMapSource with NetworkMapDataSource to the map factory
- From: Pierre-Luc Beaudoin <plbeaudoin src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [libchamplain] Add MemphisMapSource with NetworkMapDataSource to the map factory
- Date: Sun, 24 Jan 2010 20:08:44 +0000 (UTC)
commit 628614acc5566f24c008ffe52b004352e6b3ba51
Author: Simon Wenner <simon wenner ch>
Date: Tue Jun 30 16:47:01 2009 +0200
Add MemphisMapSource with NetworkMapDataSource to the map factory
champlain/champlain-map-source-factory.c | 37 ++++++++++++++++++++++++-----
champlain/champlain-map-source-factory.h | 1 +
2 files changed, 31 insertions(+), 7 deletions(-)
---
diff --git a/champlain/champlain-map-source-factory.c b/champlain/champlain-map-source-factory.c
index a0c5cbb..0b6e342 100644
--- a/champlain/champlain-map-source-factory.c
+++ b/champlain/champlain-map-source-factory.c
@@ -267,6 +267,21 @@ ChamplainMapSourceDesc MEMPHIS_LOCAL_DESC =
"",
NULL
};
+
+static
+ChamplainMapSourceDesc MEMPHIS_NETWORK_DESC =
+ {
+ CHAMPLAIN_MAP_SOURCE_MEMPHIS_NETWORK,
+ "OpenStreetMap Memphis Network Map",
+ "(CC) BY 2.0 OpenStreetMap contributors",
+ "http://creativecommons.org/licenses/by/2.0/",
+ 12,
+ 18,
+ CHAMPLAIN_MAP_PROJECTION_MERCATOR,
+ champlain_map_source_new_memphis,
+ "",
+ NULL
+ };
#endif
static void
@@ -295,6 +310,8 @@ champlain_map_source_factory_init (ChamplainMapSourceFactory *factory)
#ifdef MEMPHIS_ENABLED
champlain_map_source_factory_register (factory, &MEMPHIS_LOCAL_DESC,
MEMPHIS_LOCAL_DESC.constructor, MEMPHIS_LOCAL_DESC.data);
+ champlain_map_source_factory_register (factory, &MEMPHIS_NETWORK_DESC,
+ MEMPHIS_NETWORK_DESC.constructor, MEMPHIS_NETWORK_DESC.data);
#endif
}
@@ -411,16 +428,22 @@ champlain_map_source_new_memphis (ChamplainMapSourceDesc *desc,
ChamplainMapDataSource *map_data_source;
if (g_strcmp0 (desc->id, CHAMPLAIN_MAP_SOURCE_MEMPHIS_LOCAL) == 0)
- map_data_source = CHAMPLAIN_MAP_DATA_SOURCE (champlain_local_map_data_source_new ());
+ {
+ map_data_source = CHAMPLAIN_MAP_DATA_SOURCE (champlain_local_map_data_source_new ());
+
+ /* Abuse the uri_format field to store an initial data path (optional) */
+ if (desc->uri_format && g_strcmp0 (desc->uri_format, "") != 0)
+ champlain_local_map_data_source_load_map_data (
+ CHAMPLAIN_LOCAL_MAP_DATA_SOURCE (map_data_source),
+ desc->uri_format);
+ }
+ else if (g_strcmp0 (desc->id, CHAMPLAIN_MAP_SOURCE_MEMPHIS_NETWORK) == 0)
+ {
+ map_data_source = CHAMPLAIN_MAP_DATA_SOURCE (champlain_network_map_data_source_new ());
+ }
else
return NULL;
- /* Abuse the uri_format field to store an initial data path (optional) */
- if (desc->uri_format && g_strcmp0 (desc->uri_format, "") != 0)
- champlain_local_map_data_source_load_map_data (
- CHAMPLAIN_LOCAL_MAP_DATA_SOURCE (map_data_source),
- desc->uri_format);
-
return CHAMPLAIN_MAP_SOURCE (champlain_memphis_map_source_new_full (
desc, map_data_source));
}
diff --git a/champlain/champlain-map-source-factory.h b/champlain/champlain-map-source-factory.h
index dca6681..b98e9df 100644
--- a/champlain/champlain-map-source-factory.h
+++ b/champlain/champlain-map-source-factory.h
@@ -75,6 +75,7 @@ champlain_map_source_factory_register (ChamplainMapSourceFactory *factory,
#define CHAMPLAIN_MAP_SOURCE_MFF_RELIEF "mff-relief"
#ifdef MEMPHIS_ENABLED
#define CHAMPLAIN_MAP_SOURCE_MEMPHIS_LOCAL "memphis-local"
+#define CHAMPLAIN_MAP_SOURCE_MEMPHIS_NETWORK "memphis-network"
#endif
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]