You are here

function openlayers_layer_type_xyz::options_form in Openlayers 7.2

Same name and namespace in other branches
  1. 6.2 includes/layer_types/xyz.inc \openlayers_layer_type_xyz::options_form()

Options form which generates layers

Overrides openlayers_layer_type::options_form

File

plugins/layer_types/openlayers_layer_type_xyz.inc, line 29
XYZ Layer Type http://dev.openlayers.org/docs/files/OpenLayers/Layer/XYZ-js.html

Class

openlayers_layer_type_xyz
OpenLayers XYZ Layer Type class

Code

function options_form($defaults = array()) {
  return array(
    'url' => array(
      '#type' => 'textarea',
      '#title' => t('Base URL (template)'),
      '#default_value' => !empty($this->data['url']) ? implode("\n", (array) $this->data['url']) : '',
      '#maxlength' => 2083,
      '#description' => t('This is the base URL template for the XYZ layer.  It should be something similar to <em>http://example.com/tiles/1.0.0/layer_name/${z}/${x}/${y}.png</em>.'),
    ),
    'serverResolutions' => array(
      '#type' => 'select',
      '#multiple' => TRUE,
      '#description' => t('Only set this if you need to request very specific resolutions from the server.'),
      '#options' => array_combine(array_map('strval', openlayers_get_resolutions('EPSG:900913')), range(0, 21)),
      '#title' => t('Server Zoom Level Range'),
      '#default_value' => isset($this->data['serverResolutions']) ? array_map('strval', $this->data['serverResolutions']) : array(),
    ),
    'resolutions' => array(
      '#type' => 'select',
      '#multiple' => TRUE,
      '#description' => t('Only set this if you need a very specific resolution.'),
      '#options' => array_combine(array_map('strval', openlayers_get_resolutions('EPSG:900913')), range(0, 21)),
      '#title' => t('Zoom Level Range'),
      '#default_value' => isset($this->data['resolutions']) ? array_map('strval', $this->data['resolutions']) : array(),
    ),
    'zoomOffset' => array(
      '#type' => 'select',
      '#description' => t('Zoom offset.'),
      '#options' => array_combine(range(0, 21), range(0, 21)),
      '#title' => t('Zoom offset'),
      '#default_value' => isset($this->data['zoomOffset']) ? $this->data['zoomOffset'] : array(),
    ),
    'wrapDateLine' => array(
      '#type' => 'checkbox',
      '#title' => t('Wrap Date Line'),
      '#default_value' => isset($this->data['wrapDateLine']) ? $this->data['wrapDateLine'] : FALSE,
      '#description' => t('This allows the user to continually pan left and right as the tiles will repeat themselves.  Note that this option is known to not work well with the 2.10 OL library.'),
    ),
  );
}