ChamplainMapSource

ChamplainMapSource — A base class for map sources

Synopsis

enum                ChamplainMapProjection;
                    ChamplainMapSource;
gint                champlain_map_source_get_min_zoom_level
                                                        (ChamplainMapSource *map_source);
gint                champlain_map_source_get_max_zoom_level
                                                        (ChamplainMapSource *map_source);
guint               champlain_map_source_get_tile_size  (ChamplainMapSource *map_source);
guint               champlain_map_source_get_x          (ChamplainMapSource *map_source,
                                                         gint zoom_level,
                                                         gdouble longitude);
guint               champlain_map_source_get_y          (ChamplainMapSource *map_source,
                                                         gint zoom_level,
                                                         gdouble latitude);
gdouble             champlain_map_source_get_longitude  (ChamplainMapSource *map_source,
                                                         gint zoom_level,
                                                         guint x);
gdouble             champlain_map_source_get_latitude   (ChamplainMapSource *map_source,
                                                         gint zoom_level,
                                                         guint y);
guint               champlain_map_source_get_row_count  (ChamplainMapSource *map_source,
                                                         gint zoom_level);
guint               champlain_map_source_get_column_count
                                                        (ChamplainMapSource *map_source,
                                                         gint zoom_level);
void                champlain_map_source_fill_tile      (ChamplainMapSource *map_source,
                                                         ChamplainTile *tile);
void                champlain_map_source_set_name       (ChamplainMapSource *map_source,
                                                         const gchar *name);
const gchar *       champlain_map_source_get_name       (ChamplainMapSource *map_source);
void                champlain_map_source_set_license    (ChamplainMapSource *map_source,
                                                         const gchar *license);
const gchar *       champlain_map_source_get_license    (ChamplainMapSource *map_source);
void                champlain_map_source_set_license_uri
                                                        (ChamplainMapSource *map_source,
                                                         const gchar *license_uri);
const gchar *       champlain_map_source_get_license_uri
                                                        (ChamplainMapSource *map_source);
void                champlain_map_source_set_projection (ChamplainMapSource *map_source,
                                                         ChamplainMapProjection projection);
ChamplainMapProjection  champlain_map_source_get_projection
                                                        (ChamplainMapSource *map_source);

Object Hierarchy

  GObject
   +----ChamplainMapSource
         +----ChamplainNetworkMapSource

Properties

  "id"                       gchar*                : Read / Write / Construct
  "license"                  gchar*                : Read / Write / Construct
  "license-uri"              gchar*                : Read / Write / Construct
  "max-zoom-level"           guint                 : Read / Write / Construct
  "min-zoom-level"           guint                 : Read / Write / Construct
  "name"                     gchar*                : Read / Write / Construct
  "projection"               ChamplainMapProjection  : Read / Write / Construct
  "tile-size"                guint                 : Read / Write / Construct

Description

ChamplainTiles come from map sources which are represented by ChamplainMapSource. This is should be considered an abstract type as it does nothing of interest.

When loading new tiles, ChamplainView calls champlain_map_source_get_tile on the current ChamplainMapSource passing it a ChamplainTile to be filled with the image. ChamplainMapSources should check with ChamplainCache if the image is already locally available with champlain_cache_fill_tile.

Details

enum ChamplainMapProjection

typedef enum
{
  CHAMPLAIN_MAP_PROJECTION_MERCATOR
} ChamplainMapProjection;


ChamplainMapSource

typedef struct _ChamplainMapSource ChamplainMapSource;


champlain_map_source_get_min_zoom_level ()

gint                champlain_map_source_get_min_zoom_level
                                                        (ChamplainMapSource *map_source);

map_source :

a ChamplainMapSource

Returns :

the miminum zoom level this map source supports

Since 0.4


champlain_map_source_get_max_zoom_level ()

gint                champlain_map_source_get_max_zoom_level
                                                        (ChamplainMapSource *map_source);

map_source :

a ChamplainMapSource

Returns :

the maximum zoom level this map source supports

Since 0.4


champlain_map_source_get_tile_size ()

guint               champlain_map_source_get_tile_size  (ChamplainMapSource *map_source);

map_source :

a ChamplainMapSource

Returns :

the tile's size (width and height) in pixels for this map source

Since 0.4


champlain_map_source_get_x ()

guint               champlain_map_source_get_x          (ChamplainMapSource *map_source,
                                                         gint zoom_level,
                                                         gdouble longitude);

map_source :

a ChamplainMapSource

zoom_level :

the zoom level

longitude :

a longitude

Returns :

the x position on the map using this map source's projection. (0, 0) is located at the top left.

Since 0.4


champlain_map_source_get_y ()

guint               champlain_map_source_get_y          (ChamplainMapSource *map_source,
                                                         gint zoom_level,
                                                         gdouble latitude);

map_source :

a ChamplainMapSource

zoom_level :

the zoom level

latitude :

a latitude

Returns :

the y position on the map using this map source's projection. (0, 0) is located at the top left.

Since 0.4


champlain_map_source_get_longitude ()

gdouble             champlain_map_source_get_longitude  (ChamplainMapSource *map_source,
                                                         gint zoom_level,
                                                         guint x);

map_source :

a ChamplainMapSource

zoom_level :

the zoom level

x :

a x position

Returns :

the longitude corresponding to this x position in the map source's projection.

Since 0.4


champlain_map_source_get_latitude ()

gdouble             champlain_map_source_get_latitude   (ChamplainMapSource *map_source,
                                                         gint zoom_level,
                                                         guint y);

map_source :

a ChamplainMapSource

zoom_level :

the zoom level

y :

a y position

Returns :

the latitude corresponding to this y position in the map source's projection.

Since 0.4


champlain_map_source_get_row_count ()

guint               champlain_map_source_get_row_count  (ChamplainMapSource *map_source,
                                                         gint zoom_level);

map_source :

a ChamplainMapSource

zoom_level :

the zoom level

Returns :

the number of tiles in a row at this zoom level for this map source.

Since 0.4


champlain_map_source_get_column_count ()

guint               champlain_map_source_get_column_count
                                                        (ChamplainMapSource *map_source,
                                                         gint zoom_level);

map_source :

a ChamplainMapSource

zoom_level :

the zoom level

Returns :

the number of tiles in a column at this zoom level for this map source.

Since 0.4


champlain_map_source_fill_tile ()

void                champlain_map_source_fill_tile      (ChamplainMapSource *map_source,
                                                         ChamplainTile *tile);

Fills the tile with image data (either from cache, network or rendered locally).

map_source :

a ChamplainMapSource

tile :

A ChamplainTile

Since 0.4


champlain_map_source_set_name ()

void                champlain_map_source_set_name       (ChamplainMapSource *map_source,
                                                         const gchar *name);

Sets the map source's name.

map_source :

a ChamplainMapSource

name :

a name

Since 0.4


champlain_map_source_get_name ()

const gchar *       champlain_map_source_get_name       (ChamplainMapSource *map_source);

map_source :

a ChamplainMapSource

Returns :

the map source's name.

Since 0.4


champlain_map_source_set_license ()

void                champlain_map_source_set_license    (ChamplainMapSource *map_source,
                                                         const gchar *license);

Sets the map source's license.

map_source :

a ChamplainMapSource

license :

the licence

Since 0.4


champlain_map_source_get_license ()

const gchar *       champlain_map_source_get_license    (ChamplainMapSource *map_source);

map_source :

a ChamplainMapSource

Returns :

the map source's license.

Since 0.4


champlain_map_source_set_license_uri ()

void                champlain_map_source_set_license_uri
                                                        (ChamplainMapSource *map_source,
                                                         const gchar *license_uri);

Sets the map source's license URI.

map_source :

a ChamplainMapSource

license_uri :

the licence URI

Since 0.4


champlain_map_source_get_license_uri ()

const gchar *       champlain_map_source_get_license_uri
                                                        (ChamplainMapSource *map_source);

map_source :

a ChamplainMapSource

Returns :

the map source's license URI.

Since 0.4


champlain_map_source_set_projection ()

void                champlain_map_source_set_projection (ChamplainMapSource *map_source,
                                                         ChamplainMapProjection projection);

Sets the map source's projection.

map_source :

a ChamplainMapSource

projection :

a ChamplainMapProjection

Since 0.4


champlain_map_source_get_projection ()

ChamplainMapProjection  champlain_map_source_get_projection
                                                        (ChamplainMapSource *map_source);

map_source :

a ChamplainMapSource

Returns :

the map source's projection.

Since 0.4

Property Details

The "id" property

  "id"                       gchar*                : Read / Write / Construct

The name of the map source

Default value: ""

Since 0.4


The "license" property

  "license"                  gchar*                : Read / Write / Construct

The usage license of the map source

Default value: ""

Since 0.4


The "license-uri" property

  "license-uri"              gchar*                : Read / Write / Construct

The usage license's uri for more information

Default value: ""

Since 0.4


The "max-zoom-level" property

  "max-zoom-level"           guint                 : Read / Write / Construct

The maximum zoom level

Allowed values: <= 50

Default value: 18

Since 0.4


The "min-zoom-level" property

  "min-zoom-level"           guint                 : Read / Write / Construct

The minimum zoom level

Allowed values: <= 50

Default value: 0

Since 0.4


The "name" property

  "name"                     gchar*                : Read / Write / Construct

The name of the map source

Default value: ""

Since 0.4


The "projection" property

  "projection"               ChamplainMapProjection  : Read / Write / Construct

The map projection of the map source

Default value: CHAMPLAIN_MAP_PROJECTION_MERCATOR

Since 0.4


The "tile-size" property

  "tile-size"                guint                 : Read / Write / Construct

The tile size of the map source

Allowed values: <= 2048

Default value: 256

Since 0.4