logistcloud / address-bundle
logist.cloud AddressBundle
This package's canonical repository appears to be gone and the package has been frozen as a result.
dev-master
2017-10-20 07:49 UTC
Requires
- php: >=5.3.9
- symfony/symfony: 2.8.*
This package is auto-updated.
Last update: 2019-07-25 01:39:57 UTC
README
Composer
Run the command $ php composer.phar require logistcloud/address-bundle:dev-master
.
Composer will install bundle to logistcloud/address-bundle
directory.
If the Composer asks for a consumer key and consumer secret, configure it: $ php composer.phar config --global --auth bitbucket-oauth.bitbucket.org 6WN9DyybcRspsRsMcL qH3afvHtp3tr8NJKTtZESwwxXAqhU7GH
.
Add to your app/config/parameters.yml
:
parameters:
dadata_config_apiBaseUri: 'http://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/'
dadata_config_apiKey: 'e01e15df991007afdc6dc72add414f8e834538e6d1'
google_config_apiBaseUri: 'https://maps.googleapis.com/maps/api/geocode/json'
google_config_apiKey: 'AIzaSyDt4tisSZl2CtrDfKaUEdfghDzD2SQuOk1'
Add to your app/AppKernel.php
:
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
//...
new AddressBundle\AddressBundle()
);
return $bundles;
}
//...
}
?>
Using
Example of use
In your controller:
<?php
#...
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
#...
/**
* @Route("/request", name="address")
* @param Request $request
* @return Response
*/
public function requestAction(Request $request)
{
$service = $this->get('DadataAddress');
$service->getResult($request->query->get('query')); // $request->query->get('count') //Optional
$suggestions = $service->dadataResponse->suggestions; //Getting suggestions
$suggestion = $service->dadataResponse->getData(); //Getting suggestion
return new Response($service->response, $service->statusCode);
}
/**
* @Route("/google", name="google")
* @param Request $request
* @return Response
*/
public function googleAction(Request $request)
{
$service = $this->get('GoogleAddress');
$service->getResult($request->query->get('address'));/* $request->query->get('geo_lat') //Optional
$request->query->get('geo_lon'), //Optional*/
$coords = $service->getData($request->query->get('address'), true); //Getting the coordinates
$data = $service->getData($request->query->get('address')); //Getting the data
return new Response($service->response, $service->statusCode);
}
#...
?>