abstract class MapLinkBase in Address Map (& Directions) Link 8
Base class for Map link plugins.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\address_map_link\MapLinkBase implements MapLinkInterface
Expanded class hierarchy of MapLinkBase
10 files declare their use of MapLinkBase
- AppleMaps.php in src/
Plugin/ MapLink/ AppleMaps.php - BingMaps.php in src/
Plugin/ MapLink/ BingMaps.php - GoogleMaps.php in src/
Plugin/ MapLink/ GoogleMaps.php - GoogleMapsDirections.php in src/
Plugin/ MapLink/ GoogleMapsDirections.php - HereWeGoMaps.php in src/
Plugin/ MapLink/ HereWeGoMaps.php
File
- src/
MapLinkBase.php, line 12
Namespace
Drupal\address_map_linkView source
abstract class MapLinkBase extends PluginBase implements MapLinkInterface {
/**
* {@inheritdoc}
*/
public function getName() {
return $this->pluginDefinition['name'];
}
/**
* Gets the map link url from an address.
*
* @param \Drupal\address\AddressInterface $address
* The address.
*
* @return \Drupal\Core\Url
* The Url.
*/
public function getAddressUrl(AddressInterface $address) {
return Url::fromUri('https://google.com/maps', [
'query' => [
'q' => $this
->addressString($address),
],
]);
}
/**
* Builds a query for use in a url for a single address item.
*
* @param \Drupal\address\AddressInterface $address
* The address.
*
* @return string
* A query string.
*/
protected function addressString(AddressInterface $address) {
$addressParameters = [];
if ($address
->getAddressLine1()) {
$addressParameters[] = $address
->getAddressLine1();
}
if ($address
->getAddressLine2()) {
$addressParameters[] = $address
->getAddressLine2();
}
if ($address
->getLocality()) {
$addressParameters[] = $address
->getLocality();
}
if ($address
->getAdministrativeArea()) {
$addressParameters[] = $address
->getAdministrativeArea();
}
if ($address
->getDependentLocality()) {
$addressParameters[] = $address
->getDependentLocality();
}
if ($address
->getPostalCode()) {
$addressParameters[] = $address
->getPostalCode();
}
if ($address
->getCountryCode()) {
$addressParameters[] = $address
->getCountryCode();
}
return implode(' ', $addressParameters);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
MapLinkBase:: |
protected | function | Builds a query for use in a url for a single address item. | |
MapLinkBase:: |
public | function |
Gets the map link url from an address. Overrides MapLinkInterface:: |
10 |
MapLinkBase:: |
public | function |
Return the name of the map link plugin. Overrides MapLinkInterface:: |
|
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginBase:: |
public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 92 |