geolocation-8.x-3.x-dev/modules/geolocation_leaflet/src/Plugin/geolocation/GeocoderCountryFormatting/PhotonItaly.php

modules/geolocation_leaflet/src/Plugin/geolocation/GeocoderCountryFormatting/PhotonItaly.php
<?php

namespace Drupal\geolocation_leaflet\Plugin\geolocation\GeocoderCountryFormatting;

use Drupal\geolocation\Attribute\GeocoderCountryFormatting;
use Drupal\geolocation_leaflet\NominatimRoadFirstFormattingBase;

/**
 * Provides address formatting.
 */
#[GeocoderCountryFormatting(
  id: 'photon_it',
  countryCode: 'it',
  geocoder: 'photon'
)]
class PhotonItaly extends NominatimRoadFirstFormattingBase {

  /**
   * {@inheritdoc}
   */
  public function format(array $atomics): ?array {
    $address_elements = parent::format($atomics);
    if (\Drupal::hasService('address.subdivision_repository')) {
      $subdivisions = \Drupal::service('address.subdivision_repository')->getList(['it']);
      if (!empty($atomics['county']) && ($administrative_area = array_search($atomics['county'], $subdivisions)) !== FALSE) {
        $address_elements['administrativeArea'] = $administrative_area;
      }
      if (
        empty($address_elements['locality'])
        && !empty($atomics['state'])
      ) {
        $address_elements['locality'] = $atomics['state'];
      }
    }
    return $address_elements;
  }

}

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

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