<?php namespace bff\modules\geo; use GeoBase; class Frontend extends GeoBase { /** * Geocode & reverse geocode queries processing * @return \bff\http\Response */ public function geocode() { $provider = $this->input->get('provider', TYPE_STR) ?: $this->config('geo.geocode.provider'); $reverse = $this->input->post('reverse', TYPE_BOOL); if ($reverse) { $format = $this->input->post('format', TYPE_NOTAGS); $format = (!empty(trim($format, ', ')) ? explode(',', $format) : []); $response = $this->geocodeReverseQuery( $provider, $this->input->post('lat', TYPE_NOTAGS), $this->input->post('lng', TYPE_NOTAGS), $format ); } else { $response = $this->geocodeQuery( $provider, $this->input->post('address', TYPE_NOTAGS) ); if (is_array($response) && ! empty($response)) { $response = [$response['lat'], $response['lng']]; } else { $response = []; } } return $this->ajaxResponseForm([ 'response' => $response, ]); } }