ChamplainMemphisTileSource

ChamplainMemphisTileSource — A map source that draws tiles locally

Synopsis

                    ChamplainMemphisTileSource;
ChamplainMemphisTileSource* champlain_memphis_tile_source_new_full
                                                        (const gchar *id,
                                                         const gchar *name,
                                                         const gchar *license,
                                                         const gchar *license_uri,
                                                         guint min_zoom,
                                                         guint max_zoom,
                                                         guint tile_size,
                                                         ChamplainMapProjection projection,
                                                         ChamplainMapDataSource *map_data_source);
void                champlain_memphis_tile_source_load_rules
                                                        (ChamplainMemphisTileSource *tile_source,
                                                         const gchar *rules_path);
void                champlain_memphis_tile_source_set_background_color
                                                        (ChamplainMemphisTileSource *tile_source,
                                                         const ClutterColor *color);
ClutterColor *      champlain_memphis_tile_source_get_background_color
                                                        (ChamplainMemphisTileSource *tile_source);
void                champlain_memphis_tile_source_set_map_data_source
                                                        (ChamplainMemphisTileSource *tile_source,
                                                         ChamplainMapDataSource *map_data_source);
ChamplainMapDataSource * champlain_memphis_tile_source_get_map_data_source
                                                        (ChamplainMemphisTileSource *tile_source);
void                champlain_memphis_tile_source_set_rule
                                                        (ChamplainMemphisTileSource *tile_source,
                                                         MemphisRule *rule);
MemphisRule *       champlain_memphis_tile_source_get_rule
                                                        (ChamplainMemphisTileSource *tile_source,
                                                         const gchar *id);
void                champlain_memphis_tile_source_remove_rule
                                                        (ChamplainMemphisTileSource *tile_source,
                                                         const gchar *id);
GList *             champlain_memphis_tile_source_get_rule_ids
                                                        (ChamplainMemphisTileSource *tile_source);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----ChamplainMapSource
               +----ChamplainTileSource
                     +----ChamplainMemphisTileSource

Properties

  "map-data-source"          ChamplainMapDataSource*  : Read / Write / Construct

Description

The ChamplainMemphisTileSource uses the rendering library LibMemphis to draw OpenStreetMap data. Tiles are rendered in separate threads. It supports zoom levels 12 to 18.

The map data is supplied by a ChamplainMapDataSource. ChamplainLocalMapDataSource loads data from a local OSM file. ChamplainNetworkMapDataSource uses the OSM API to download data chunks.

The output of the renderer can be configured with a Memphis rules XML file. (TODO: link to the specification) The default rules only show highways as thin black lines. Once loaded, rules can be queried and edited.

Details

ChamplainMemphisTileSource

typedef struct _ChamplainMemphisTileSource ChamplainMemphisTileSource;


champlain_memphis_tile_source_new_full ()

ChamplainMemphisTileSource* champlain_memphis_tile_source_new_full
                                                        (const gchar *id,
                                                         const gchar *name,
                                                         const gchar *license,
                                                         const gchar *license_uri,
                                                         guint min_zoom,
                                                         guint max_zoom,
                                                         guint tile_size,
                                                         ChamplainMapProjection projection,
                                                         ChamplainMapDataSource *map_data_source);

Creates a new instance of ChamplainMemphisTileSource.

id :

the map source's id

name :

the map source's name

license :

the map source's license

license_uri :

the map source's license URI

min_zoom :

the map source's minimum zoom level

max_zoom :

the map source's maximum zoom level

tile_size :

the map source's tile size (in pixels)

projection :

the map source's projection

map_data_source :

a ChamplainMapDataSource

Returns :

a new ChamplainMemphisTileSource.

Since 0.6


champlain_memphis_tile_source_load_rules ()

void                champlain_memphis_tile_source_load_rules
                                                        (ChamplainMemphisTileSource *tile_source,
                                                         const gchar *rules_path);

Loads a Memphis rules file.

tile_source :

a ChamplainMemphisTileSource

rules_path :

a path to a rules file

Since 0.6


champlain_memphis_tile_source_set_background_color ()

void                champlain_memphis_tile_source_set_background_color
                                                        (ChamplainMemphisTileSource *tile_source,
                                                         const ClutterColor *color);

Sets the background color of the map from a ClutterColor.

tile_source :

a ChamplainMemphisTileSource

color :

a ClutterColor

Since 0.6


champlain_memphis_tile_source_get_background_color ()

ClutterColor *      champlain_memphis_tile_source_get_background_color
                                                        (ChamplainMemphisTileSource *tile_source);

Gets the background color of the map.

tile_source :

a ChamplainMemphisTileSource

Returns :

the background color of the map as a newly-allocated ClutterColor.

Since 0.6


champlain_memphis_tile_source_set_map_data_source ()

void                champlain_memphis_tile_source_set_map_data_source
                                                        (ChamplainMemphisTileSource *tile_source,
                                                         ChamplainMapDataSource *map_data_source);

Sets the map data source.

tile_source :

a ChamplainMemphisTileSource

map_data_source :

a ChamplainMapDataSource

Since 0.6


champlain_memphis_tile_source_get_map_data_source ()

ChamplainMapDataSource * champlain_memphis_tile_source_get_map_data_source
                                                        (ChamplainMemphisTileSource *tile_source);

Gets the assigned ChamplainMapDataSource.

tile_source :

a ChamplainMemphisTileSource

Returns :

the ChamplainMapDataSource.

Since 0.6


champlain_memphis_tile_source_set_rule ()

void                champlain_memphis_tile_source_set_rule
                                                        (ChamplainMemphisTileSource *tile_source,
                                                         MemphisRule *rule);

Edits or adds a MemphisRule to the rules-set. New rules are appended to the list.

tile_source :

a ChamplainMemphisTileSource

rule :

a MemphisRule

Since 0.6


champlain_memphis_tile_source_get_rule ()

MemphisRule *       champlain_memphis_tile_source_get_rule
                                                        (ChamplainMemphisTileSource *tile_source,
                                                         const gchar *id);

Gets the requested MemphisRule.

tile_source :

a ChamplainMemphisTileSource

id :

an id string

Returns :

the requested MemphisRule or NULL if none is found.

Since 0.6


champlain_memphis_tile_source_remove_rule ()

void                champlain_memphis_tile_source_remove_rule
                                                        (ChamplainMemphisTileSource *tile_source,
                                                         const gchar *id);

Removes the rule with the given id.

tile_source :

a ChamplainMemphisTileSource

id :

an id string

Since 0.6


champlain_memphis_tile_source_get_rule_ids ()

GList *             champlain_memphis_tile_source_get_rule_ids
                                                        (ChamplainMemphisTileSource *tile_source);

Get a list of rule id's.

tile_source :

a ChamplainMemphisTileSource

Returns :

a GList of id strings of the form: key1|key2|...|keyN:value1|value2|...|valueM Example: "waterway:river|stream|canal"

Since 0.6

Property Details

The "map-data-source" property

  "map-data-source"          ChamplainMapDataSource*  : Read / Write / Construct

The data source of the renderer

Since 0.6