- PHP >= 7.1.3
- Laravel >= 5.6
- Install the package via composer:
composer require snezhkoigor/geocoding- If you are running Laravel 5.5 (the package will be auto-discovered), skip
this step. Find the
providersarray key inconfig/app.phpand register the Geocoding Service Provider:
// 'providers' => [
Geocoding\Laravel\GeocodingServiceProvider::class,
// ];By default, the configuration specifies a Chain provider, containing the GoogleMaps provider for addresses as well as reverse lookups with lat/long.
However, you are free to add or remove providers as needed, both inside the Chain provider, as well as along-side it. The following is the default configuration provided by the package:
<?php
use Geocoding\Laravel\Providers\DaData;
return [
/*
|--------------------------------------------------------------------------
| Providers
|--------------------------------------------------------------------------
|
*/
'providers' => [
DaData::class => [
'token' => env('DADATA_TOKEN', ''),
'proxy' => env('DADATA_PROXY_IP', null)
]
]
];
- DaData
If you would like to make changes to the default configuration, publish and edit the configuration file:
php artisan vendor:publish --provider="Geocoding\Laravel\GeocodingServiceProvider" --tag="config"The service provider initializes the geocoding service, accessible via the
facade Geocoding::... or the application helper app('geocoding')->....
app('geocoding')->geocode((\Geocoding\Laravel\Models\Query\GeocodeQuery::create('Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³')));Result would be:
{
"provided_by": "DaData.ru",
"latitude": 59.9391313,
"longitude": 30.3159004,
"address": "Π³ Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³"
}
app('geocoding')->suggest((\Geocoding\Laravel\Models\Query\SuggestQuery::create('ΠΏΠ΅ΡΠ²ΠΎ')));Result would be:
[
"ΠΠΈΠΆΠ΅Π³ΠΎΡΠΎΠ΄ΡΠΊΠ°Ρ ΠΎΠ±Π», Π³ ΠΠ΅ΡΠ²ΠΎΠΌΠ°ΠΉΡΠΊ",
"ΠΠΈΡΠΎΠ²ΡΠΊΠ°Ρ ΠΎΠ±Π», ΠΏΠ³Ρ ΠΠ΅ΡΠ²ΠΎΠΌΠ°ΠΉΡΠΊΠΈΠΉ",
"ΡΠ΅ΡΠΏ ΠΠ°ΡΠΊΠΎΡΡΠΎΡΡΠ°Π½, ΠΠ΅Π»Π΅ΡΠ·ΠΎΠ²ΡΠΊΠΈΠΉ Ρ-Π½, Ρ/Ρ ΠΠ΅ΡΠ²ΠΎΠΌΠ°ΠΉΡΠΊΠΈΠΉ",
"ΡΠ΅ΡΠΏ ΠΠ°ΡΠΊΠΎΡΡΠΎΡΡΠ°Π½, Π‘ΡΠ΅ΡΠ»ΠΈΡΠ°ΠΌΠ°ΠΊΡΠΊΠΈΠΉ Ρ-Π½, Ρ/Ρ ΠΠ΅ΡΠ²ΠΎΠΌΠ°ΠΉΡΠΊΠΈΠΉ",
"Π§ΡΠ²Π°ΡΡΠΊΠ°Ρ ΡΠ΅ΡΠΏΡΠ±Π»ΠΈΠΊΠ° - Π§ΡΠ²Π°ΡΠΈΡ, ΠΠ°ΡΡΡΠ΅Π²ΡΠΊΠΈΠΉ Ρ-Π½, Ρ/ΠΏ ΠΠ΅ΡΠ²ΠΎΠΌΠ°ΠΉΡΠΊΠΎΠ΅",
"ΠΡΠ°ΡΠ½ΠΎΡΡΡΠΊΠΈΠΉ ΠΊΡΠ°ΠΉ, ΠΠ°Π½ΡΠΊΠΈΠΉ Ρ-Π½, Ρ/Ρ ΠΠ΅ΡΠ²ΠΎΠΌΠ°Π½ΡΠΊΠΈΠΉ",
"ΠΠ΅Π½Π·Π΅Π½ΡΠΊΠ°Ρ ΠΎΠ±Π», ΠΠ°ΠΌΠ΅Π½ΡΠΊΠΈΠΉ Ρ-Π½, Ρ/Ρ ΠΠ΅ΡΠ²ΠΎΠΌΠ°ΠΉΡΠΊΠΈΠΉ ΡΠ΅Π»ΡΡΠΎΠ²Π΅Ρ",
"ΡΠ΅ΡΠΏ ΠΠ°ΡΠΊΠΎΡΡΠΎΡΡΠ°Π½, Π―Π½Π°ΡΠ»ΡΡΠΊΠΈΠΉ Ρ-Π½, Ρ/Ρ ΠΠ΅ΡΠ²ΠΎΠΌΠ°ΠΉΡΠΊΠΈΠΉ",
"ΡΠ΅ΡΠΏ ΠΠ°ΡΠΊΠΎΡΡΠΎΡΡΠ°Π½, ΠΠ»Π°Π³ΠΎΠ²Π°ΡΡΠΊΠΈΠΉ Ρ-Π½, Ρ/Ρ ΠΠ΅ΡΠ²ΠΎΠΌΠ°ΠΉΡΠΊΠΈΠΉ",
"Π§ΡΠ²Π°ΡΡΠΊΠ°Ρ ΡΠ΅ΡΠΏΡΠ±Π»ΠΈΠΊΠ° - Π§ΡΠ²Π°ΡΠΈΡ, ΠΠ»Π°ΡΡΡΡΠΊΠΈΠΉ Ρ-Π½, Ρ/ΠΏ ΠΠ΅ΡΠ²ΠΎΠΌΠ°ΠΉΡΠΊΠΎΠ΅"
]