Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Here Provider

Here Provider Laravel Package

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.

View on GitHub
Deep Wiki
Context7

[READ ONLY] Provider for Here

Frequently asked questions about Here Provider
How do I install and configure the HERE provider in Laravel?
Run `composer require geocoder-php/here-provider` to install. Add your HERE API key to `.env` under `SERVICES_HERE_API_KEY`, then bind the provider in `AppServiceProvider.php` using Laravel’s service container. The package auto-detects the key from config.
Does this package support both forward and reverse geocoding?
Yes, it fully supports both. Use `geocode()` for address-to-coordinates (forward) and `reverse()` for coordinates-to-address (reverse). Both methods return normalized data via the Geocoder interface, ensuring consistency across your app.
What Laravel versions does this package support?
The package is compatible with Laravel 8.1+ and PHP 8.0+. It leverages modern Laravel features like the HTTP client and service container, so it integrates smoothly with newer Laravel releases. Check the package’s `composer.json` for exact version constraints.
How do I handle HERE API rate limits or failures in production?
Implement caching (e.g., Redis) for frequent queries using Laravel’s `Cache::remember()`. For failovers, extend the provider chain with alternatives like `OpenStreetMapProvider`. The package itself doesn’t enforce retries, so configure Guzzle’s HTTP client with retries in `config/services.php`.
Can I use this with Laravel Scout for geospatial search?
Yes, you can combine it with Scout by first geocoding addresses via this provider, then storing coordinates in your Scout-indexed model. Use Scout’s `whereNear()` for radius-based searches. The package returns structured data that’s easy to integrate with Scout’s geospatial queries.
How do I secure my HERE API key in Laravel?
Store the key in `.env` as `SERVICES_HERE_API_KEY` and load it via `config('services.here.api_key')`. For additional security, use Laravel’s `Vault` (if available) or encrypt the key in the database. Avoid hardcoding keys in source files.
Is there a way to test geocoding without hitting HERE’s API?
Yes, mock the `HereClient` in your tests using Laravel’s `Mockery` or PHPUnit’s `createMock()`. Override the `geocode()` or `reverse()` methods to return static responses. The package’s dependency on the Geocoder interface makes it easy to swap implementations for testing.
What happens if HERE’s API is down or returns errors?
The package throws exceptions for API failures, which you can catch and handle gracefully. For resilience, implement a fallback provider (e.g., `OpenStreetMapProvider`) in your service container. Log errors using Laravel’s `Log::error()` for debugging.
Can I use this for async geocoding in Laravel queues?
Absolutely. Dispatch a job (e.g., `GeocodeJob`) with the address or coordinates, then process it asynchronously. The package’s lightweight design makes it ideal for queue-based workflows. Use `dispatchSync()` for testing or `dispatch()` for production.
Are there alternatives if I don’t want to use HERE?
Yes, the package is part of the `geocoder-php` ecosystem, so you can easily swap providers like `OpenStreetMapProvider`, `GoogleMapsProvider`, or `MapboxProvider`. The Geocoder interface ensures consistency regardless of the backend. Check the `geocoder-php/geocoder` package for a full list of supported providers.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor