[ CCode ( type_id = "shumate_layer_get_type ()" ) ]
public abstract class Layer : Widget, Accessible, Buildable, ConstraintTarget
Every layer (overlay that moves together with the map) has to inherit this class and implement its virtual methods.
You can use the same layer to display many types of maps. In Shumate they are called map sources. You can change the [ property@MapLayer:map-source] property at any time to replace the current displayed map.