LeafletController.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace LeafletBundle\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  4. use Symfony\Component\Workflow\Exception\ExceptionInterface;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Sonata\AdminBundle\Admin\Pool;
  8. class LeafletController extends Controller
  9. {
  10. public function createVectorAction($layerId = 1, Request $request)
  11. {
  12. $vectors = array();
  13. //{"lat":-34.6036844,"lng":-58.381559100000004,"zoom":10} BS AS
  14. $map = array('lat'=>-34.6036844,'lng'=>-58.381559100000004,'zoom'=>10);
  15. $em = $this->get('doctrine')->getManager();
  16. $layer = $em->getRepository("MapBundle\Entity\Layer")->findOneById($layerId);
  17. if(!is_null($layer)) {
  18. if($layer->getMap()) {
  19. $map = $layer->getMap()->jsonExtraData();
  20. }
  21. $vectors = $em->getRepository("MapBundle\Entity\Vector")->findByLayer($layer);
  22. }
  23. $adminPool = $this->get('sonata.admin.pool');
  24. $url_post = "admin_map_vector_create_ajax";
  25. $url_delete = "admin_map_vector_delete_ajax";
  26. return $this->render('LeafletBundle:Leaflet:create_vector.html.twig', array(
  27. 'base_template' => $adminPool->getTemplate('layout'),
  28. 'admin_pool' => $adminPool,
  29. 'admin' => $adminPool->getAdminByClass("MapBundle\Entity\Map"),
  30. 'uuid' => time(),
  31. 'url_post' => $url_post,
  32. 'url_delete' => $url_delete,
  33. 'vectors' => $vectors,
  34. 'layerId' => $layerId,
  35. 'map' => $map
  36. ));
  37. }
  38. public function saveVectorAction(Request $request)
  39. {
  40. print_r($request->request->all());
  41. die;
  42. }
  43. }