Reverse geocoding is the process of converting geographical coordinates (latitude and longitude) into a human-readable address (street, city, postal code, country). This is useful in ride-hailing apps, delivery tracking, GPS logging, and real estate platforms.
In this tutorial, we’ll integrate Geocoder Laravel with the Google Maps API to perform reverse geocoding in Laravel.
What You’ll Need
- Laravel project (v8+ recommended)
toin0u/geocoder-laravelpackage installed- Google Maps Geocoding API Key
See Also:
Step 1: Install Geocoder Laravel
composer require toin0u/geocoder-laravel
php artisan vendor:publish --provider="Geocoder\\Laravel\\Providers\\GeocoderService"PHPThis will install Geocoder Laravel and publish the configuration file config/geocoder.php where you can manage providers.
Step 2: Configure Google Maps API Key
Inside your .env, add your Google Maps Geocoding API key:
GOOGLE_MAPS_API_KEY=YOUR_GOOGLE_MAPS_API_KEY_HEREThen, ensure config/geocoder.php uses Google Maps:
return [
'providers' => [
Chain::class => [
GoogleMaps::class => [
env('GOOGLE_MAPS_LOCALE', 'us'),
env('GOOGLE_MAPS_API_KEY'),
],
GeoPlugin::class => [],
],
],
];PHP⚠️ Security Tip: Restrict your API key to specific domains or IPs inside the Google Cloud Console. This prevents abuse if your key leaks.
Step 3: Write Reverse Geocoding Logic
The following snippet takes latitude and longitude and returns the formatted address:
<?php
$latitude = 51.5291450;
$longitude = -0.1239401;
try {
$results = app('geocoder')->reverse($latitude, $longitude)->get();
if ($results->count() > 0) {
$address = $results[0]->getFormattedAddress();
echo "Address: " . $address;
} else {
echo "No address found for these coordinates.";
}
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}PHPSample Output
16-18 Argyle Street, Camden, London WC1H 8EG, United KingdomYou can call this method in a Controller, Job, or Service Class. For heavy usage (e.g., batch reverse geocoding), consider using queued jobs to avoid API delays blocking user requests.
Common Use Cases
- Convert GPS coordinates into user-friendly addresses in mobile apps.
- Show the nearest street or city when tracking delivery drivers.
- Store location history for auditing in HR or security management systems.
- Tag uploaded photos or assets with real-world addresses.
Conclusion
Reverse geocoding in Laravel becomes seamless with GeocoderLaravel + Google Maps API. With just a few lines of code, you can translate latitude and longitude into full addresses, improving user experience in location-based apps. Always monitor your API usage to control costs.
Discover more from TheTechTower
Subscribe to get the latest posts sent to your email.
