<?php
|
|
|
|
namespace App\Controller;
|
|
|
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
|
use Symfony\Component\HttpFoundation\Request;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
use Symfony\Component\Routing\Attribute\Route;
|
|
|
|
#[Route('/map')]
|
|
class MapController extends AbstractController
|
|
{
|
|
#[Route('/popup', name: 'app_map_popup')]
|
|
public function popup(Request $request): Response
|
|
{
|
|
$element = json_decode($request->query->get('element'), true);
|
|
|
|
$josmCommands = [
|
|
'imagery' => [
|
|
'id' => 'osmfr',
|
|
],
|
|
'load_and_zoom' => [
|
|
'bottom' => $element['bounds']['minlat'],
|
|
'top' => $element['bounds']['maxlat'],
|
|
'left' => $element['bounds']['minlon'],
|
|
'right' => $element['bounds']['maxlon'],
|
|
'select' => sprintf('%s%d', $element['type'], $element['id']),
|
|
],
|
|
];
|
|
|
|
return $this->render('partials/_overpass-element-popup.html.twig', [
|
|
'element' => $element,
|
|
'josmCommands' => json_encode($josmCommands),
|
|
]);
|
|
}
|
|
}
|