bodunde / geocoder
A laravel package that helps you with geocoding addresses and reverse geocoding coordinates using the google maps api. It also helps in calculating the distance between two locations using the Hervasine formula and the coordinates of the locations
Installs: 7 649
Dependents: 0
Suggesters: 0
Security: 0
Stars: 24
Watchers: 3
Forks: 9
pkg:composer/bodunde/geocoder
Requires
- php: >=5.5.9
- guzzlehttp/guzzle: *
- illuminate/support: ~5
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2025-10-12 01:57:11 UTC
README
A Laravel Package that interfaces with the google maps API to help convert a plain address to longitude and latitude coordinates and vice-versa. It can also calculate the distance (in kilometers or miles) between two locations using their coordinates.
Installation
- include the package in your
composer.jsonfile and runcomposer updateor runcomposer require bodunde/geocoderor you can do it oldschool and just clone the repo and include it in your application. - navigate to your
configdirectory in your laravel application and locate theapp.phpfile - add this line to your service provide
Bodunde\GoogleGeocoder\GeocoderServiceProvider::class - publish its config file by running
php artisan vendor:publish - include your
google_api_keyingeocoder.phpfile located in the config directory Voila!!! You are done
Usage
<?php namespace Your\Namespace; use Bodunde\GoogleGeocoder\Geocoder; ... ... // using dependency injection public function index(Geocoder $geocoder) { // get coordinates $coordinates = $geocoder->getCoordinates('55 Moleye Street, Yaba'); // get address via reverse geocoding $addressCoordinates = [ "lat" => 6.5349646, "lng" => 3.3892894 ]; $address = $geocoder->getAddress($addressCoordinates); // get distance between two locations $location1 = [ "lat" => 6.5349646, "lng" => 3.3892894 ]; $location2 = [ "lat" => 6.601838, "lng" => 3.3514863 ]; $distance = $geocoder->getDistanceBetween($location1, $location2); /** geocoder can also be instantiated normally without DI */ //e.g $geocoder = new Geocoder; }
Tests
In the package root run phpunit