Skip to content

Commit cbf7956

Browse files
committed
Changed to use ChainProvider instead of limiting to only a single provider.
1 parent 7088f31 commit cbf7956

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

src/Toin0u/Geocoder/GeocoderServiceProvider.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Toin0u\Geocoder;
1313

1414
use Geocoder\Geocoder;
15+
use Geocoder\Provider\ChainProvider;
1516
use Illuminate\Support\ServiceProvider;
1617

1718
/**
@@ -52,9 +53,11 @@ public function register()
5253
});
5354

5455
$this->app->singleton('geocoder.provider', function($app) {
55-
$provider = $app['config']->get('geocoder-laravel::provider');
56-
57-
return new $provider($app['geocoder.adapter']);
56+
$providers = $app['config']->get('geocoder-laravel::providers');
57+
foreach($providers as &$provider) {
58+
$provider = new $provider($app['geocoder.adapter']);
59+
}
60+
return new ChainProvider($providers);
5861
});
5962

6063
$this->app['geocoder'] = $this->app->share(function($app) {

src/config/config.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
*/
1111

1212
return array(
13-
'provider' => 'Geocoder\Provider\FreeGeoIpProvider',
13+
/* Providers get called in the chain order given here. The first one to return a result will be used. */
14+
'providers' => array(
15+
'Geocoder\Provider\FreeGeoIpProvider'
16+
),
1417
'adapter' => 'Geocoder\HttpAdapter\CurlHttpAdapter'
1518
);

0 commit comments

Comments
 (0)