geocoder-php/pickpoint-provider
PickPoint provider for the PHP Geocoder library. Adds support for geocoding through the PickPoint API, returning normalized address/location results and integrating with Geocoder’s standard provider interface for easy swapping in existing apps.
pickpoint-provider integrates seamlessly with the Geocoder PHP ecosystem (v5+), making it ideal for Laravel applications requiring PickPoint-specific geocoding (e.g., parcel lockers, delivery hubs, or last-mile logistics).geocoder-php/geocoder (a popular Laravel-compatible package).config/geocoder.php can be extended to include PickPoint as a provider.geocoder->geocode('123 Main St')).PickPointException) should be mapped to Laravel’s Handler for graceful degradation.geocoder-php/openstreetmap-provider).geocoder-php/geocoder (v5+).config/app.php or a service provider:
Geocoder::create()
->registerProvider(new PickPointProvider($pickpointApiKey));
Geocoder::geocode() or Geocoder::reverse() in controllers/services.composer require geocoder-php/pickpoint-provider
config/geocoder.php:
'providers' => [
'pickpoint' => [
'key' => env('PICKPOINT_API_KEY'),
'host' => env('PICKPOINT_HOST', 'api.pickpoint.com'),
],
],
AppServiceProvider:
public function boot()
{
Geocoder::create()
->registerProvider(new \Geocoder\Provider\PickPoint\PickPointProvider(
config('geocoder.providers.pickpoint.key'),
config('geocoder.providers.pickpoint.host')
));
}
$geocoder = app(Geocoder::class);
$results = $geocoder->geocode('SW1A 1AA');
geocoder-php/geocoder:^5.0. Avoid mixing with v4.x.geocoder-php/pickpoint-provider for major version bumps (e.g., API deprecations).composer why-not to audit compatibility before updates.PICKPOINT_API_KEY in Laravel’s .env.debugbar to inspect geocoding queries.guzzlehttp/guzzle middleware).md5($address)) with Redis:
$cacheKey = 'geocode:pickpoint:' . md5($address);
return Cache::remember($cacheKey, now()->addHours(1), fn() => $geocoder->geocode($address));
| Failure | Impact | Mitigation |
|---|---|---|
| PickPoint API downtime | Geocoding failures | Fallback to OpenStreetMap |
| Rate limit exceeded | Throttled requests | Implement caching + retry logic |
| API key revoked | All geocoding broken | Multi-key rotation + monitoring |
| PHP version incompatibility | Integration breaks | Pin to supported PHP version in composer.json |
config/geocoder.php and test basic queries.dd($results->getFirst())).config('features.pickpoint_geocoding') to toggle.How can I help you explore Laravel packages today?