openlayers.api.php in Openlayers 6.2
Same filename and directory in other branches
Hooks provided by the OpenLayers suite of modules. This file allows hooks to be documented automatically with Doxygen, like on api.drupal.org.
File
docs/openlayers.api.phpView source
<?php
/**
* @file
* Hooks provided by the OpenLayers suite of modules. This file allows
* hooks to be documented automatically with Doxygen, like on api.drupal.org.
*
* @ingroup openlayers
*/
/**
* OpenLayers Map Preprocess Alter
*
* Map array alter. Fired before processing the array, and
* before checking for errors. The whole array is passed
* along and will allow you to alter it in any way. This
* is a good place to alter the map, if the other hooks
* do not provide the functionality you need.
*
* @param $map
* Map array
*/
function hook_openlayers_map_preprocess_alter(&$map = array()) {
// Do something to the $map
}
/**
* OpenLayers Map Alter
*
* Post-processing Map array alter. Fired after processing the array, and
* before checking for errors. The whole array is passed
* along and will allow you to alter it in any way. Adding behaviors,
* pre-defined layers here will not work. This is good for minor tweaks
* after the map has been processed.
*
* @param $map
* Map array
*/
function hook_openlayers_map_alter(&$map = array()) {
// Do something to the $map
}
/**
* OpenLayers Layer Types
*
* Provides information on layer types. This is a CTools plugin. Please
* see LAYER_TYPES.txt in the module for more information.
*
* @return
* Return a nested associative array with the top level
* being a unique string identifier key which corresponds to the
* layers' types. The next level being an array of key/value
* pairs:
* - "description":
* - "layer_type":
*/
function hook_openlayers_layer_types() {
// Take from openlayers.layer_types.inc
return array(
'openlayers_layer_type_google' => array(
'title' => t('Google'),
'description' => t('Google Maps API Map'),
'layer_type' => array(
'path' => drupal_get_path('module', 'openlayers') . '/includes/layer_types',
'file' => 'google.inc',
'class' => 'openlayers_layer_type_google',
'parent' => 'openlayers_layer_type',
),
),
);
}
/**
* CTools Registration Hook
*
* IMPORTANT:
*
* In order to support styles, presets, and layers in an external module,
* one must notify the CTools module that that module provides implementations
* of the hooks for styles, presets, and/or layers.
*
* This function is just an example implementation of
* hook_ctools_plugin_api() and should be alter according to
* your module's name.
*
* @param $module
* Name of a module that supports CTools exportables.
* @param $api
* Name of the kind of exportable supported.
* @return
* If $module is 'openlayers', and $api is a type of exportable that
* your module provides, and you are using Openlayers 2.x, then
* return array with the following values:
* - version => 1
*/
function openlayers_example_ctools_plugin_api($module, $api) {
if ($module == "openlayers") {
switch ($api) {
case 'openlayers_presets':
return array(
'version' => 1,
);
case 'openlayers_layers':
return array(
'version' => 1,
);
case 'openlayers_styles':
return array(
'version' => 1,
);
}
}
}
/**
* OpenLayers Layers
*
* This hook tells OpenLayers about the available layers
* that can be used by name in maps.
*
* Ensure that you are telling CTools about this as well.
* @see openlayers_example_ctools_plugin_api().
*
* Please note, that to support translation for exportable
* code for potx extraction, you should include separate code
* of translatable string.
*
* @return
* Return an associative array with index being a unique string
* identifier, and simple objects with the following properties:
* - "api_version":
* - "name":
* - "title":
* - "data":
*/
function hook_openlayers_layers() {
// Taken from openlayers.layers.inc
$layers = array();
$layer = new stdClass();
$layer->api_version = 1;
$layer->name = 'google_satellite';
$layer->title = 'Google Maps Satellite';
$layer->description = 'Google Maps Satellite Imagery.';
$layer->data = array(
'baselayer' => TRUE,
'type' => 'satellite',
'projection' => array(
'900913',
),
'layer_type' => 'openlayers_layer_type_google',
);
$layers[$layer->name] = $layer;
return $layers;
// Extra code to support potx extractors
$potx = array(
t('Google Maps Satellite'),
t('Google Maps Satellite Imagery.'),
);
}
/**
* OpenLayers Behaviors
*
* This hook tells OpenLayers about the available behaviors
* that can be used in maps.
*
* Ensure that you are telling CTools about this as well.
* @see openlayers_example_ctools_plugin_api().
*
* @return
* Return a nested associative array with the top level
* being a unique string identifier, and the nested array
* containing the following key/pairs:
* - "title":
* - "description":
* - "file":
* - "type":
* - "behavior":
*/
function hook_openlayers_behaviors() {
// Taken from openlayers.behaviors.inc
return array(
'openlayers_behavior_attribution' => array(
'title' => t('Attribution'),
'description' => t('Allows layers to provide attribution to the map if it exists.'),
'type' => 'layer',
'path' => drupal_get_path('module', 'openlayers') . '/includes/behaviors',
'file' => 'openlayers_behavior_attribution.inc',
'behavior' => array(
'class' => 'openlayers_behavior_attribution',
'parent' => 'openlayers_behavior',
),
),
);
}
/**
* OpenLayers Styles
*
* This hook tells OpenLayers about the available styles
* that can be used in maps.
*
* Ensure that you are telling CTools about this as well.
* @see openlayers_example_ctools_plugin_api().
*
* @return
* Return an associative array with index being a unique string
* identifier, and simple objects with the following properties:
* - "api_version":
* - "name":
* - "title":
* - "data":
*/
function hook_openlayers_styles() {
// Taken from openlayers.styles.inc
$styles = array();
$style = new stdClass();
$style->api_version = 1;
$style->name = 'default';
$style->title = t('Default style');
$style->description = t('Basic default style.');
$style->data = array(
'pointRadius' => '5',
'fillColor' => '#FFCC66',
'strokeColor' => '#FF9933',
'strokeWidth' => '4',
'fillOpacity' => '0.5',
);
$styles[$style->name] = $style;
return $styles;
}
/**
* OpenLayers Presets
*
* Define map presets.
*
* @return
* Return an associative array with index being a unique string
* identifier, and simple objects with the following properties:
* - "api_version":
* - "name":
* - "title":
* - "data":
*/
function hook_openlayers_presets() {
// Taken from openlayers.presets.inc
$default = new stdClass();
$default->api_version = 1;
$default->name = 'default';
$default->title = t('Default Map');
$default->description = t('This is the default map preset that comes with the OpenLayers module.');
$default->data = array(
'projection' => '900913',
'width' => 'auto',
'default_layer' => 'osm_mapnik',
'height' => '400px',
'center' => array(
'initial' => array(
'centerpoint' => '0,0',
'zoom' => '2',
),
),
'options' => array(
'displayProjection' => '4326',
'maxExtent' => openlayers_get_extent('4326'),
),
'behaviors' => array(
'openlayers_behavior_panzoombar' => array(),
'openlayers_behavior_layerswitcher' => array(),
'openlayers_behavior_attribution' => array(),
'openlayers_behavior_keyboarddefaults' => array(),
'openlayers_behavior_navigation' => array(),
),
'layers' => array(
'osm_mapnik' => 'osm_mapnik',
),
);
return array(
'default' => $default,
);
}
/**
* CTools Registration Hook (Style Plugins)
*
* IMPORTANT:
*
* In order to support style plugins, the first step is to
* tell CTools where to find the plugin.
*
* This function is just an example implementation of
* hook_ctools_plugin_directory() and should be alter according to
* your module's name.
*
* For an example, please see the openlayers_test.module
*
* @param $module
* Name of a module that supports CTools exportables.
* @param $plugin
* Name of the kind of plugin supported.
* @return
* If $module is 'openlayers', and $api is a type of exportable that
* your module provides, and you are using Openlayers 2.x, then
* return the directory relative to a module to look for this
* particular plugin.
*/
function openlayers_ctools_plugin_directory($module, $plugin) {
if ($module == 'openlayers' && $plugin == 'style_plugin') {
return 'plugins/style_plugin';
}
}
Functions
Name![]() |
Description |
---|---|
hook_openlayers_behaviors | OpenLayers Behaviors |
hook_openlayers_layers | OpenLayers Layers |
hook_openlayers_layer_types | OpenLayers Layer Types |
hook_openlayers_map_alter | OpenLayers Map Alter |
hook_openlayers_map_preprocess_alter | OpenLayers Map Preprocess Alter |
hook_openlayers_presets | OpenLayers Presets |
hook_openlayers_styles | OpenLayers Styles |
openlayers_ctools_plugin_directory | CTools Registration Hook (Style Plugins) |
openlayers_example_ctools_plugin_api | CTools Registration Hook |