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

24 lines
762 B
PHP
Raw Permalink Normal View History

2026-06-14 21:32:07 +02:00
<?php
declare(strict_types=1);
namespace App\Services;
use App\Dto\ShopDto;
2026-06-14 21:32:07 +02:00
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
2026-06-14 21:32:07 +02:00
{
$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}";
}
}