logistcloud/address-bundle

logist.cloud AddressBundle

This package's canonical repository appears to be gone and the package has been frozen as a result.

Installs: 42

Dependents: 0

Suggesters: 0

Security: 0

Type:symfony-bundle

dev-master 2017-10-20 07:49 UTC

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);
}
#...
?>