geolocation-8.x-3.x-dev/src/TileLayerProviderInterface.php

src/TileLayerProviderInterface.php
<?php

namespace Drupal\geolocation;

use Drupal\Component\Plugin\PluginInspectionInterface;

/**
 * Defines an interface for geolocation TileLayer plugins.
 */
interface TileLayerProviderInterface extends PluginInspectionInterface {

  /**
   * Get default settings.
   *
   * @param string $tile_layer_option_id
   *   Data Layer Option ID.
   * @param array $settings
   *   Settings.
   * @param array|null $context
   *   Context.
   *
   * @return array
   *   Default Settings.
   */
  public static function getDefaultSettings(string $tile_layer_option_id, array $settings = [], ?array $context = NULL): array;

  /**
   * Provide a summary array.
   *
   * @return array
   *   An array to use as field formatter summary.
   */
  public function getSettingsSummary(string $tile_layer_option_id, array $settings = [], ?array $context = NULL): array;

  /**
   * Get settings form.
   *
   * @param array $settings
   *   Settings.
   * @param array|null $context
   *   Context.
   *
   * @return array
   *   Settings form.
   */
  public function getSettingsForm(array $settings = [], ?array $context = NULL): array;

  /**
   * Get layer settings form.
   *
   * @param string $tile_layer_option_id
   *   Data Layer Option ID.
   * @param array $settings
   *   Settings.
   * @param array|null $context
   *   Context.
   *
   * @return array
   *   Settings form.
   */
  public function getLayerSettingsForm(string $tile_layer_option_id, array $settings = [], ?array $context = NULL): array;

  /**
   * Get layer label.
   *
   * @param string $tile_layer_option_id
   *   Data Layer Option ID.
   * @param array $settings
   *   Settings.
   * @param array|null $context
   *   Context.
   *
   * @return string
   *   Label.
   */
  public function getLabel(string $tile_layer_option_id, array $settings = [], ?array $context = NULL): string;

  /**
   * Get layer attribution.
   *
   * @param string $tile_layer_option_id
   *   Data Layer Option ID.
   * @param array $settings
   *   Settings.
   * @param array|null $context
   *   Context.
   *
   * @return string
   *   Attribution.
   */
  public function getAttribution(string $tile_layer_option_id, array $settings = [], ?array $context = NULL): string;

  /**
   * Get available tile layer options.
   *
   * ```
   * return [
   *   'default' => [
   *     'name' => $this->getPluginDefinition()['name'],
   *     'description' => $this->getPluginDefinition()['description'],
   *     'switchable' => TRUE,
   *     'default_weight' => 0,
   *   ],
   * ];
   * ```
   *
   * @param array|null $context
   *   Context.
   *
   * @return array
   *   Available layer Options.
   */
  public function getLayerOptions(?array $context = NULL): array;

  /**
   * Get layer render array.
   *
   * @param string $tile_layer_option_id
   *   Data Layer Option ID.
   * @param array $settings
   *   Settings.
   * @param array|null $context
   *   Context.
   *
   * @return string
   *   Tile layer URL.
   */
  public function getTileLayerUrl(string $tile_layer_option_id, array $settings = [], ?array $context = NULL): string;

  /**
   * Alter map render array.
   *
   * @param array $render_array
   *   Render array.
   * @param string $tile_layer_option_id
   *   Data Layer Option ID.
   * @param array $settings
   *   Settings.
   * @param array $context
   *   Context.
   *
   * @return array
   *   Render array for map.
   */
  public function alterMap(array $render_array, string $tile_layer_option_id = 'default', array $settings = [], array $context = []): array;

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc