snezhkoigor / geocoding
A development package for all providers
Installs: 207
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Type:package
Requires
- php: ^7.1
- ext-json: *
- guzzlehttp/guzzle: ~6.0
- illuminate/support: 5.0 - 5.8
- dev-master
- v4.0.2
- v4.0.1
- v4.0.0
- v3.0.7
- v3.0.6
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- 3.0.0
- v2.2.1
- v2.2.0
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.0.27
- v1.0.26
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0.x-dev
- v1.0.0
This package is auto-updated.
Last update: 2025-03-01 00:26:24 UTC
README
Requirements
- PHP >= 7.1.3
- Laravel >= 5.6
Installation
- 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
providers
array key inconfig/app.php
and register the Geocoding Service Provider:
// 'providers' => [ Geocoding\Laravel\GeocodingServiceProvider::class, // ];
Providers
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)
]
]
];
Supported Providers
- DaData
Customization
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"
Usage
The service provider initializes the geocoding
service, accessible via the
facade Geocoding::...
or the application helper app('geocoding')->...
.
Geocoding of Address
app('geocoding')->geocode((\Geocoding\Laravel\Models\Query\GeocodeQuery::create('Санкт-Петербург')));
Result would be:
{
"provided_by": "DaData.ru",
"latitude": 59.9391313,
"longitude": 30.3159004,
"address": "г Санкт-Петербург"
}
Suggest and get Collection of Addresses
app('geocoding')->suggest((\Geocoding\Laravel\Models\Query\SuggestQuery::create('перво')));
Result would be:
[
"Нижегородская обл, г Первомайск",
"Кировская обл, пгт Первомайский",
"респ Башкортостан, Мелеузовский р-н, с/с Первомайский",
"респ Башкортостан, Стерлитамакский р-н, с/с Первомайский",
"Чувашская республика - Чувашия, Батыревский р-н, с/п Первомайское",
"Красноярский край, Манский р-н, с/с Первоманский",
"Пензенская обл, Каменский р-н, с/с Первомайский сельсовет",
"респ Башкортостан, Янаульский р-н, с/с Первомайский",
"респ Башкортостан, Благоварский р-н, с/с Первомайский",
"Чувашская республика - Чувашия, Алатырский р-н, с/п Первомайское"
]