ChamplainMapSourceFactory

ChamplainMapSourceFactory — Manages ChamplainMapSource instances

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── ChamplainMapSourceFactory

Description

This factory manages the create of ChamplainMapSource. It contains names and constructor functions for each available map sources in libchamplain. You can add your own with champlain_map_source_factory_register.

To get the wanted map source, use champlain_map_source_factory_create. It will return a ready to use ChamplainMapSource.

To get the list of registered map sources, use champlain_map_source_factory_get_registered.

Functions

champlain_map_source_factory_dup_default ()

ChamplainMapSourceFactory *
champlain_map_source_factory_dup_default
                               (void);

A method to obtain the singleton object.

Returns

the singleton ChamplainMapSourceFactory, it should be freed using g_object_unref() when not needed.

[transfer full]

Since 0.4


champlain_map_source_factory_create ()

ChamplainMapSource *
champlain_map_source_factory_create (ChamplainMapSourceFactory *factory,
                                     const gchar *id);

Note: The id should not contain any character that can't be in a filename as it will be used as the cache directory name for that map source.

Parameters

factory

the Factory

 

id

the wanted map source id

 

Returns

a ready to use ChamplainMapSource matching the given name, returns NULL is none match.

[transfer none]

Since 0.4


champlain_map_source_factory_create_cached_source ()

ChamplainMapSource *
champlain_map_source_factory_create_cached_source
                               (ChamplainMapSourceFactory *factory,
                                const gchar *id);

Creates a cached map source.

Parameters

factory

the Factory

 

id

the wanted map source id

 

Returns

a ready to use ChamplainMapSourceChain consisting of ChamplainMemoryCache, ChamplainFileCache, ChamplainMapSource matching the given name, and an error tile source created with champlain_map_source_factory_create_error_source().

[transfer none]

Since 0.6


champlain_map_source_factory_create_error_source ()

ChamplainMapSource *
champlain_map_source_factory_create_error_source
                               (ChamplainMapSourceFactory *factory,
                                guint tile_size);

Creates a map source generating error tiles.

Parameters

factory

the Factory

 

tile_size

the size of the error tile

 

Returns

a ready to use map source generating error tiles.

[transfer none]

Since 0.8


champlain_map_source_factory_register ()

gboolean
champlain_map_source_factory_register (ChamplainMapSourceFactory *factory,
                                       ChamplainMapSourceDesc *desc);

Registers the new map source with the given constructor. When this map source is requested, the given constructor will be used to build the map source. ChamplainMapSourceFactory will take ownership of the passed ChamplainMapSourceDesc, so don't free it.

Parameters

factory

A ChamplainMapSourceFactory

 

desc

the description of the map source

 

Returns

TRUE if the registration suceeded.

Since 0.10


champlain_map_source_factory_get_registered ()

GSList *
champlain_map_source_factory_get_registered
                               (ChamplainMapSourceFactory *factory);

Get the list of registered map sources.

Parameters

factory

the Factory

 

Returns

the list of registered map sources, the items should not be freed, the list should be freed with g_slist_free.

[transfer container][element-type ChamplainMapSourceDesc]

Since 0.4

Types and Values

struct ChamplainMapSourceFactory

struct ChamplainMapSourceFactory;

The ChamplainMapSourceFactory structure contains only private data and should be accessed using the provided API

Since 0.4


CHAMPLAIN_MAP_SOURCE_OSM_MAPNIK

#define CHAMPLAIN_MAP_SOURCE_OSM_MAPNIK "osm-mapnik"

OpenStreetMap Mapnik


CHAMPLAIN_MAP_SOURCE_OSM_OSMARENDER

#define CHAMPLAIN_MAP_SOURCE_OSM_OSMARENDER "osm-osmarender"

OpenStreetMap Osmarender


CHAMPLAIN_MAP_SOURCE_OSM_CYCLE_MAP

#define CHAMPLAIN_MAP_SOURCE_OSM_CYCLE_MAP "osm-cyclemap"

OpenStreetMap Cycle Map


CHAMPLAIN_MAP_SOURCE_OSM_TRANSPORT_MAP

#define CHAMPLAIN_MAP_SOURCE_OSM_TRANSPORT_MAP "osm-transportmap"

OpenStreetMap Transport Map


CHAMPLAIN_MAP_SOURCE_OSM_MAPQUEST

#define CHAMPLAIN_MAP_SOURCE_OSM_MAPQUEST "osm-mapquest"

Mapquest OpenStreetMap


CHAMPLAIN_MAP_SOURCE_OAM

#define CHAMPLAIN_MAP_SOURCE_OAM "OpenAerialMap"

OpenAerialMap


CHAMPLAIN_MAP_SOURCE_MFF_RELIEF

#define CHAMPLAIN_MAP_SOURCE_MFF_RELIEF "mff-relief"

Maps for Free Relief


CHAMPLAIN_MAP_SOURCE_MEMPHIS_LOCAL

#define CHAMPLAIN_MAP_SOURCE_MEMPHIS_LOCAL "memphis-local"

OpenStreetMap Memphis Local Map


CHAMPLAIN_MAP_SOURCE_MEMPHIS_NETWORK

#define CHAMPLAIN_MAP_SOURCE_MEMPHIS_NETWORK "memphis-network"

OpenStreetMap Memphis Network Map