Geo::getAddress() 

\nn\t3::Geo()->getAddress($lng = 8.2506933201813, $lat = 50.08060702093, $returnAll = false, $language = 'de'); 

Convert geo-coordinates into address data (reverse geo coding) If the extension nnaddress is installed, it will be used for the resolution.

// Return the first result
\nn\t3::Geo()->getAddress( 8.250693320181336, 50.08060702093021 );

// Return ALL results
\nn\t3::Geo()->getAddress( 8.250693320181336, 50.08060702093021, true );

// return ALL results in English
\nn\t3::Geo()->getAddress( 8.250693320181336, 50.08060702093021, true, 'en' );

// $lng and $lat can also be passed as an array
\nn\t3::Geo()->getAddress( ['lat'=>50.08060702093021, 'lng'=>8.250693320181336] );

// Use your own API key?
\nn\t3::Geo( $apiKey )->getAddress( 8.250693320181336, 50.08060702093021 );
Copied!

Example for return:

[
    'lat' => 50.0805069,
    'lng' => 8.2508677,
    'street' => 'Blumenstrass 2',
    'zip' => '65189',
    'city' => 'Wiesbaden',
    ...
]
Copied!
@param array|float $lng
@param float|bool $lat
@param bool $returnAll
@return array

Source Code 

public function getAddress ( $lng = 8.250693320181336, $lat = 50.08060702093021, $returnAll = false, $language = 'de' ) {
	$results = [];
	if (is_array($lng)) {
		$returnAll = $lat;
		$lat = $lng['lat'] ?? 0;
		$lng = $lng['lng'] ?? 0;
	}
	// EXT:nnaddress verwenden, falls vorhanden
	if (\nn\t3::Environment()->extLoaded('nnaddress')) {
		$addressService = GeneralUtility::makeInstance( \Nng\Nnaddress\Services\AddressService::class );
		if ($addresses = $addressService->getAddressForGeoCoordinates( ['lng'=>$lng, 'lat'=>$lat] )) {
			foreach ($addresses as $address) {
				$results[] = [
					'street' 	=> $address['street'],
					'zip' 		=> $address['postal_code'],
					'city' 		=> $address['locality'],
					'country' 	=> $address['political'],
				];
			}
		}
	} else {
		$apiKey = $this->getApiKey();
		if (!$apiKey) return [];
		$result = \nn\t3::Request()->GET(
			'https://maps.googleapis.com/maps/api/geocode/json', [
				'latlng' 	=> $lat . ',' . $lng,
				'key'		=> $apiKey,
				'language'	=> $language,
			]);
		$data = json_decode( $result['content'], true );
		foreach ($data['results'] as &$result) {
			$result = $this->parseAddressCompontent( $result );
		}
		$results = $data['results'];
	}
	if (!$results) return [];
	return $returnAll ? $results : array_shift($results);
}
Copied!