### Class

# Shumate Map

#### Description [src]

    final class Shumate.Map : Gtk.Widget
      implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
      /* No available fields */
    }

The Map widget is a `GtkWidget` that show and allows interaction with the user.

This is the base widget and doesn’t have advanced features. You can check the `ShumateSimpleMap` for a ready-to-use widget.

By default, a `ShumateViewport` is created and can be accessed with `shumate_map_get_viewport()`.

Unless created with `shumate_map_new_simple()`, the widget doesn’t hold any layer and won’t show anything. A `ShumateLayer` can be added or removed using the `shumate_map_add_layer()` or `shumate_map_remove_layer()` methods.

#### Ancestors

- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkBuildable
- GtkConstraintTarget

#### Constructors

###### shumate_map_new

Creates an instance of `ShumateMap`.

###### shumate_map_new_simple

No description available.

#### Instance methods

###### shumate_map_add_layer

Adds a new layer to the view.

###### shumate_map_center_on

Centers the map on these coordinates.

###### shumate_map_get_animate_zoom

Checks whether the view animates zoom level changes.

###### shumate_map_get_go_to_duration

Get the ‘go-to-duration’ property.

###### shumate_map_get_state

Gets the view’s state.

###### shumate_map_get_viewport

Get the `ShumateViewport` used by this view.

###### shumate_map_get_zoom_on_double_click

Checks whether the view zooms on double click.

###### shumate_map_go_to

Move from the current position to these coordinates. All tiles in the intermediate view WILL be loaded!

###### shumate_map_go_to_full

Move from the current position to these coordinates and zoom to the given zoom level. All tiles in the intermediate view WILL be loaded!

###### shumate_map_go_to_full_with_duration

Move from the current position to these coordinates and zoom to the given zoom level. The given duration is used instead of the map’s default `ShumateMap:go-to-duration`. All tiles in the intermediate view WILL be loaded!

###### shumate_map_insert_layer_above

Adds `layer` to `self` above `next_sibling` or, if `next_sibling` is `NULL`, at the bottom of the layer list.

###### shumate_map_insert_layer_behind

Adds `layer` to `self` behind `next_sibling` or, if `next_sibling` is `NULL`, at the top of the layer list.

###### shumate_map_remove_layer

Removes the given layer from the view.

###### shumate_map_set_animate_zoom

Should the view animate zoom level changes.

###### shumate_map_set_go_to_duration

Set the duration of the transition of `shumate_map_go_to()`.

###### shumate_map_set_map_source

Changes the currently used map source. #g_object_unref() will be called on the previous one.

###### shumate_map_set_zoom_on_double_click

Should the view zoom in and recenter when the user double click on the map.

###### shumate_map_stop_go_to

Stop the go to animation. The view will stay where it was when the animation was stopped.

###### shumate_map_zoom_in

Zooms the map in. If `ShumateMap:animate-zoom` is `TRUE`, the change will be animated.

###### shumate_map_zoom_out

Zooms the map out. If `ShumateMap:animate-zoom` is `TRUE`, the change will be animated.

##### Methods inherited from GtkWidget (164)

Please see GtkWidget for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GtkAccessible (20)

###### gtk_accessible_announce

Requests the user’s screen reader to announce the given message.

###### gtk_accessible_get_accessible_parent

Retrieves the accessible parent for an accessible object.

###### gtk_accessible_get_accessible_role

Retrieves the accessible role of an accessible object.

###### gtk_accessible_get_at_context

Retrieves the implementation for the given accessible object.

###### gtk_accessible_get_bounds

Queries the coordinates and dimensions of this accessible.

###### gtk_accessible_get_first_accessible_child

Retrieves the first accessible child of an accessible object.

###### gtk_accessible_get_next_accessible_sibling

Retrieves the next accessible sibling of an accessible object.

###### gtk_accessible_get_platform_state

Queries a platform state, such as focus.

###### gtk_accessible_reset_property

Resets the accessible property to its default value.

###### gtk_accessible_reset_relation

Resets the accessible relation to its default value.

###### gtk_accessible_reset_state

Resets the accessible state to its default value.

###### gtk_accessible_set_accessible_parent

Sets the parent and sibling of an accessible object.

###### gtk_accessible_update_next_accessible_sibling

Updates the next accessible sibling.

###### gtk_accessible_update_platform_state

Informs ATs that the platform state has changed.

###### gtk_accessible_update_property

Updates a list of accessible properties.

###### gtk_accessible_update_property_value

Updates an array of accessible properties.

###### gtk_accessible_update_relation

Updates a list of accessible relations.

###### gtk_accessible_update_relation_value

Updates an array of accessible relations.

###### gtk_accessible_update_state

Updates a list of accessible states.

###### gtk_accessible_update_state_value

Updates an array of accessible states.

##### Methods inherited from GtkBuildable (1)

###### gtk_buildable_get_buildable_id

Gets the ID of the `buildable` object.

#### Properties

###### Shumate.Map:animate-zoom

Animate zoom change when zooming in/out.

###### Shumate.Map:go-to-duration

The duration of an animation when going to a location, in milliseconds. A value of 0 means that the duration is calculated automatically for you.

###### Shumate.Map:state

The view’s global state. Useful to inform using if the view is busy loading tiles or not.

###### Shumate.Map:viewport

The viewport, which contains information about the center, rotation, zoom, etc. of the map.

###### Shumate.Map:zoom-on-double-click

Should the view zoom in and recenter when the user double click on the map.

##### Properties inherited from GtkWidget (35)

###### Gtk.Widget:can-focus

Whether the widget or any of its descendents can accept the input focus.

###### Gtk.Widget:can-target

Whether the widget can receive pointer events.

###### Gtk.Widget:css-classes

A list of css classes applied to this widget.

###### Gtk.Widget:css-name

The name of this widget in the CSS tree.

###### Gtk.Widget:cursor

The cursor used by `widget`.

###### Gtk.Widget:focus-on-click

Whether the widget should grab focus when it is clicked with the mouse.

###### Gtk.Widget:focusable

Whether this widget itself will accept the input focus.

###### Gtk.Widget:halign

How to distribute horizontal space if widget gets extra space.

###### Gtk.Widget:has-default

Whether the widget is the default widget.

###### Gtk.Widget:has-focus

Whether the widget has the input focus.

###### Gtk.Widget:has-tooltip

Enables or disables the emission of the `GtkWidget::query-tooltip` signal on `widget`.

###### Gtk.Widget:height-request

Overrides for height request of the widget.

###### Gtk.Widget:hexpand

Whether to expand horizontally.

###### Gtk.Widget:hexpand-set

Whether to use the `hexpand` property.

###### Gtk.Widget:layout-manager

The `GtkLayoutManager` instance to use to compute the preferred size of the widget, and allocate its children.

###### Gtk.Widget:limit-events

Makes this widget act like a modal dialog, with respect to event delivery.

###### Gtk.Widget:margin-bottom

Margin on bottom side of widget.

###### Gtk.Widget:margin-end

Margin on end of widget, horizontally.

###### Gtk.Widget:margin-start

Margin on start of widget, horizontally.

###### Gtk.Widget:margin-top

Margin on top side of widget.

###### Gtk.Widget:name

The name of the widget.

###### Gtk.Widget:opacity

The requested opacity of the widget.

###### Gtk.Widget:overflow

How content outside the widget’s content area is treated.

###### Gtk.Widget:parent

The parent widget of this widget.

###### Gtk.Widget:receives-default

Whether the widget will receive the default action when it is focused.

###### Gtk.Widget:root

The `GtkRoot` widget of the widget tree containing this widget.

###### Gtk.Widget:scale-factor

The scale factor of the widget.

###### Gtk.Widget:sensitive

Whether the widget responds to input.

###### Gtk.Widget:tooltip-markup

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

###### Gtk.Widget:tooltip-text

Sets the text of tooltip to be the given string.

###### Gtk.Widget:valign

How to distribute vertical space if widget gets extra space.

###### Gtk.Widget:vexpand

Whether to expand vertically.

###### Gtk.Widget:vexpand-set

Whether to use the `vexpand` property.

###### Gtk.Widget:visible

Whether the widget is visible.

###### Gtk.Widget:width-request

Overrides for width request of the widget.

##### Properties inherited from GtkAccessible (1)

###### Gtk.Accessible:accessible-role

The accessible role of the given `GtkAccessible` implementation.

#### Signals

###### Shumate.Map::animation-completed

The `ShumateMap::animation-completed` signal is emitted when any animation in the view ends. This is a detailed signal. For example, if you want to be signaled only for go-to animation, you should connect to “animation-completed::go-to”. And for zoom, connect to “animation-completed::zoom”.

##### Signals inherited from GtkWidget (13)

###### GtkWidget::destroy

Signals that all holders of a reference to the widget should release the reference that they hold.

###### GtkWidget::direction-changed

Emitted when the text direction of a widget changes.

###### GtkWidget::hide

Emitted when `widget` is hidden.

###### GtkWidget::keynav-failed

Emitted if keyboard navigation fails.

###### GtkWidget::map

Emitted when `widget` is going to be mapped.

###### GtkWidget::mnemonic-activate

Emitted when a widget is activated via a mnemonic.

###### GtkWidget::move-focus

Emitted when the focus is moved.

###### GtkWidget::query-tooltip

Emitted when the widget’s tooltip is about to be shown.

###### GtkWidget::realize

Emitted when `widget` is associated with a `GdkSurface`.

###### GtkWidget::show

Emitted when `widget` is shown.

###### GtkWidget::state-flags-changed

Emitted when the widget state changes.

###### GtkWidget::unmap

Emitted when `widget` is going to be unmapped.

###### GtkWidget::unrealize

Emitted when the `GdkSurface` associated with `widget` is destroyed.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct ShumateMapClass {
      GtkWidgetClass parent_class;

    }

No description available.

###### Class members

`parent_class: GtkWidgetClass`

  No description available.