MapController.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace MapBundle\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\JsonResponse;
  6. class MapController extends Controller
  7. {
  8. /**
  9. * @param Request $request
  10. * @return JsonResponse
  11. */
  12. public function getMapListAction(Request $request)
  13. {
  14. $query = $request->query->get('q', '');
  15. $choiceLoader = $this->get('map.map.choiceloader');
  16. $choiceList = $choiceLoader->getChoicesList($query);
  17. $list_values = [];
  18. foreach ($choiceList as $label => $id) {
  19. $list_values[] = [
  20. 'id' => $id,
  21. 'text' => $label
  22. ];
  23. }
  24. $response = new JsonResponse();
  25. $response->setData(['results' => $list_values]);
  26. return $response;
  27. }
  28. /**
  29. * @param Request $request
  30. * @return JsonResponse
  31. */
  32. public function getObjectTypeListAction(Request $request)
  33. {
  34. $query = $request->query->get('q', '');
  35. $choiceLoader = $this->get('map.object_type.choiceloader');
  36. $choiceList = $choiceLoader->getChoicesList($query);
  37. $list_values = [];
  38. foreach ($choiceList as $label => $id) {
  39. $list_values[] = [
  40. 'id' => $id,
  41. 'text' => $label
  42. ];
  43. }
  44. $response = new JsonResponse();
  45. $response->setData(['results' => $list_values]);
  46. return $response;
  47. }
  48. /**
  49. * @param Request $request
  50. * @return JsonResponse
  51. */
  52. public function getMapAction(Request $request)
  53. {
  54. $id = $request->get('id', null);
  55. $map = '';
  56. if (!is_null($id)) {
  57. $webservice = $this->get('webservice');
  58. $map = $webservice->getArray('remote_get_map_url', array(
  59. 'id' => $id,
  60. ));
  61. if (isset($map[0])) {
  62. $map = $map[0];
  63. }
  64. }
  65. $response = new JsonResponse();
  66. $response->setData($map);
  67. return $response;
  68. }
  69. }