registerArgument('addresses', 'mixed', 'Addresses', true); $this->registerArgument('parameters', 'array', 'Parameters', true); } /** * @param array $arguments * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * @return string */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { $mapArguments = $arguments['parameters']; $markers = []; foreach ($arguments['addresses'] as $address) { /** @var Address $address */ $markers[] = '&markers=' . $address->getLatitude() . ',' . $address->getLongitude(); } if (count($markers) === 1) { $mapArguments['zoom'] = 13; } return 'https://maps.googleapis.com/maps/api/staticmap?' . GeneralUtility::implodeArrayForUrl('', $mapArguments, '', true) . implode('', $markers); } }