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
7,739 24
Install
composer require bodunde/geocoder
Latest Version:v1.2.1
PHP:>=5.5.9
License:MIT
Last Updated:Jul 20, 2019
Links: GitHub  ·  Packagist
Maintainer: badebiyi

Laravel-Geocoder

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.json file and run composer update or run composer require bodunde/geocoder or you can do it oldschool and just clone the repo and include it in your application.
  • navigate to your config directory in your laravel application and locate the app.php file
  • 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_key in geocoder.php file 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

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

631,580,251 9,707
laravel/framework

The Laravel Framework.

580,311,802 34,925
laravel/tinker

Powerful REPL for the Laravel framework.

489,754,436 7,444
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

404,034,618 608
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

387,976,821 4,658