ldc-boutique-cnc-sable/app/Services/MapUrlService.php

23 lines
762 B
PHP

<?php
declare(strict_types=1);
namespace App\Services;
use App\Dto\ShopDto;
use App\Models\Shop;
use Domain\Models\Entities\Shop as EntitiesShop;
use Domain\Models\ValueObjects\DeliveryAddress;
class MapUrlService
{
public function generateUrl(Shop | EntitiesShop | DeliveryAddress | ShopDto $addressable): string
{
$query = urlencode("{$addressable->name} {$addressable->address} {$addressable->postcode} {$addressable->city}");
return ($addressable->latitude && $addressable->longitude) ?
"https://www.openstreetmap.org/?mlat={$addressable->latitude}&mlon={$addressable->longitude}" .
"#map=16/{$addressable->latitude}/{$addressable->longitude}" :
"https://maps.google.com/?q={$query}";
}
}