/** * {@inheritdoc} */ public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); $geophp = \Drupal::service('geophp.geophp'); $dumper = \Drupal::service('geocoder.dumper.' . $this->getSetting('dumper_plugin')); $provider_plugins = $this->getEnabledProviderPlugins(); foreach ($items as $delta => $item) { /** @var \Geometry $geom */ $geom = $geophp->load($item->value); $centroid = $geom->getCentroid(); if ($addressCollection = Geocoder::reverse($provider_plugins, $centroid->y(), $centroid->x())) { $elements[$delta] = array('#markup' => $dumper->dump($addressCollection->first())); } } return $elements; }