geocoder-php/here-provider
HERE provider for the Geocoder PHP library. Adds forward and reverse geocoding via HERE APIs, returning consistent Geocoder results for addresses, places, and coordinates. Intended for use with geocoder-php adapters and your HERE credentials.
here-provider package is a specialized geocoding service integration for HERE Maps, fitting well in Laravel applications requiring reverse geocoding (coordinates → address), forward geocoding (address → coordinates), or geocoding-related workflows (e.g., location-based APIs, logistics, or user profiling).GeocodingService class)..env or Laravel’s config/services.php), aligning with Laravel’s 12-factor app principles.GeocodeSuccess, GeocodeFailure) via Laravel’s event system, enabling reactive workflows (e.g., caching, notifications).HereGeocodeException).// app/Providers/AppServiceProvider.php
public function register()
{
$this->app->singleton(HereClient::class, function ($app) {
return new HereClient(config('services.here.api_key'));
});
}
$client = new HereClient($apiKey, $httpClient = app(HttpClient::class));
// app/Models/User.php
public function geocodeAddress()
{
return (new HereClient())->geocode($this->address);
}
geocode("Berlin") → coordinates).Cache::remember()) for frequent queries.GeocodeJob) for async processing.OpenStreetMapProvider).geocoder.api.here.com/v6.2/).composer require geocoder-php/here-provider..env:
HERE_API_KEY=your_key_here
GeocodeServiceTest).composer why-not-update).try {
$result = $geocoder->geocode($address);
} catch (Exception $e) {
Log::error("Geocode failed for {$address}", ['error' => $e]);
}
403 Forbidden = invalid key).user_id).$client->withOptions(['timeout' => 10, 'retries' => 3]);
| Failure | Impact | Mitigation |
|---|---|---|
| HERE API downtime | Geocoding fails for users | Fallback to OpenStreetMap |
| Invalid API key | All geocoding requests fail | Automated key validation on startup |
| Rate limit exceeded | Throttled requests | Queue delays + caching |
| Malformed input | Incorrect geocoding results | Input validation (e.g., regex for addresses) |
| Network latency | Slow response times | Async processing + client-side loading |
geocode(), reverse(), autocomplete()).How can I help you explore Laravel packages today?