logistcloud/address-bundle

logist.cloud AddressBundle

安装: 42

依赖项: 0

建议者: 0

安全性: 0

类型: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

运行以下命令 $ php composer.phar require logistcloud/address-bundle:dev-master. Composer会将包安装到logistcloud/address-bundle目录。如果Composer要求输入消费者密钥和消费者密钥,请进行配置:$ php composer.phar config --global --auth bitbucket-oauth.bitbucket.org 6WN9DyybcRspsRsMcL qH3afvHtp3tr8NJKTtZESwwxXAqhU7GH.

添加到您的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'

添加到您的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;
    }

//...
}
?>

使用

使用示例

在您的控制器中

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