willdurand/geocoder
Powerful PHP geocoding library by William Durand. Geocode addresses to coordinates and reverse-geocode lat/long back to locations, with a clean provider-based API. Supports multiple geocoding services, adapters, caching, and easy integration in any project.
Strengths:
geocoded, failed) for observability and extensibility (e.g., logging, analytics).Geocoder::batch()), reducing API call overhead for bulk operations.Potential Gaps:
laravel-geocoder wrapper (if available) or direct integration with Laravel’s service container.cache() helper), queues (for async batch jobs), and events.guzzlehttp/guzzle (for HTTP requests) and symfony/event-dispatcher (for events).Mockery or PHPUnit).Geocoder::bindTo($app)) for dependency injection.config/geocoder.php to centralize provider keys, defaults, and caching settings.Geocoder::batch($addresses)->onQueue('geocoding')).GeocodedEvent) to trigger actions like notifications or analytics.php artisan geocode:batch users --provider=mapbox).getCoordinatesAttribute()).ProviderInterface for internal APIs or legacy systems.latitude, longitude, formatted_address, provider, cached_at.geocoded_at for auditing and source (e.g., "user_input" vs. "batch_job")..env).php artisan vendor:publish --tag=geocoder-config).config/app.php and AppServiceProvider.wildbit/geocoder (fork of willdurand/geocoder) for Laravel-specific updates.composer why-not-update to track breaking changes in providers (e.g., Guzzle 7+).geocoder-http to geocoder-provider-google-maps-v3).php artisan config:cache) to avoid runtime overrides.How can I help you explore Laravel packages today?