GeocodeController.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace LeafletBundle\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  4. use Symfony\Component\HttpFoundation\JsonResponse;
  5. use Symfony\Component\HttpFoundation\Request;
  6. class GeocodeController extends Controller
  7. {
  8. /**
  9. * @param Request $request
  10. * @return JsonResponse
  11. */
  12. public function getGeocodeAction(Request $request)
  13. {
  14. $address = $request->query->get('address', '');
  15. $latLng = $request->query->get('latLng', '');
  16. $keyGoogleApi = "AIzaSyDYPe_h1T_5ThFNZukx05FJY21IAejj_LA";
  17. $url = "https://maps.googleapis.com/maps/api/geocode/json?key={$keyGoogleApi}";
  18. if(isset($latLng) && $latLng != null){
  19. $url = $url."&latlng={$latLng}";
  20. }else{
  21. $newAddress = str_replace(' ', '+', $address);
  22. $url = $url."&address={$newAddress}";
  23. }
  24. $cookies = $this->get('request_stack')->getMasterRequest()->cookies->all();
  25. $result = json_decode($this->get('webservice')->makeGetRequest($url, 'GET', [], [], $cookies));
  26. $response = new JsonResponse();
  27. $response->setData($result);
  28. return $response;
  29. }
  30. }