You are here

function hook_leaflet_map_info in Leaflet 7

Same name and namespace in other branches
  1. 8 leaflet.api.php \hook_leaflet_map_info()
  2. 2.1.x leaflet.api.php \hook_leaflet_map_info()
  3. 2.0.x leaflet.api.php \hook_leaflet_map_info()

Define one or map definitions to be used when rendering a map.

leaflet_map_get_info() will grab every defined map, and the returned associative array is then passed to leaflet_render_map(), along with a collection of features.

The settings array maps to the settings available to leaflet map object, http://leafletjs.com/reference-1.0.2.html#map

Layers are the available base layers for the map and, if you enable the layer control, can be toggled on the map. On top of layers, you can add overlays. Overlays are defined just a layers, but have their 'layer_type' set to 'overlay'. See drupal.org/project/leaflet_more_maps for examples.

Return value

array Associative array containing a complete leaflet map definition.

1 function implements hook_leaflet_map_info()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

leaflet_leaflet_map_info in ./leaflet.module
Implements hook_leaflet_map_info().
1 invocation of hook_leaflet_map_info()
leaflet_map_get_info in ./leaflet.module
Get all available Leaflet map definitions.

File

./leaflet.api.php, line 26
API documentation for Administration menu.

Code

function hook_leaflet_map_info() {
  return array(
    'OSM Mapnik' => array(
      'label' => 'OSM Mapnik',
      'description' => t('Leaflet default map.'),
      'settings' => array(
        'dragging' => TRUE,
        'touchZoom' => TRUE,
        'scrollWheelZoom' => TRUE,
        'doubleClickZoom' => TRUE,
        'zoomControl' => TRUE,
        'attributionControl' => TRUE,
        'trackResize' => TRUE,
        'fadeAnimation' => TRUE,
        'zoomAnimation' => TRUE,
        'closePopupOnClick' => TRUE,
        'layerControl' => TRUE,
      ),
      'layers' => array(
        'earth' => array(
          'urlTemplate' => '//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
          'options' => array(
            'attribution' => 'OSM Mapnik',
            // The switchZoom controls require multiple layers, referencing one
            // another as "switchLayer".
            'switchZoomBelow' => 15,
            'switchLayer' => 'satellite',
          ),
        ),
        'satellite' => array(
          'urlTemplate' => '//otile{s}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.png',
          'options' => array(
            'attribution' => 'OSM Mapnik',
            'subdomains' => '1234',
            'switchZoomAbove' => 15,
            'switchLayer' => 'earth',
          ),
        ),
      ),
    ),
  );
}