A wrapper around Google's Geocoding API to get different details such as latitude, longitude, country, city, district, postcode, town and street number regarding some specific address.
PHP
Latest commit d2c40b2 Jan 8, 2017 @kamranahmedse committed on GitHub Fix usage example

README.md

PHP Geocode

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version

A wrapper around the Google Geocoding API to get different details regarding an address such as

  • Latitude/longitude
  • Country
  • City
  • District
  • Postcode
  • Town
  • Street number

Requirement

PHP >= 5.4.0 and curl enabled server.

Installation

You can install the library using the following ways

Composer

The recommended installation method is through Composer, a dependency manager for PHP. Just add kamranahmedse/php-geocode to your project's composer.json file:

{
    "require": {
        "kamranahmedse/php-geocode": "*"
    }
}

and then run composer install. For further details you can find the package at Packagist.

Manual way

Or you can install the package manually by:

  • Copy src/php-geocode.php to your codebase, perhaps to the vendor directory.
  • Add the Geocode class to your autoloader or require the file directly.

Getting Started

I'm going to use the following address to explain the use of library i.e.

1600 Amphitheatre Parkway, Mountain View, CA

Instantiate the Geocode class and call the methods as follows

// Introduce the class into your scope
use KamranAhmed\Geocode\Geocode;


// Optionally you can pass the API key for Geocoding
$geocode = new Geocode();

// Get the details for the passed address
$location = $geocode->get("1600 Amphitheatre Parkway, Mountain View, CA");

// Note: All the functions below accept a parameter as a default value that will be return if the reuqired value isn't found
$location->getAddress( 'default value' ); 
$location->getLatitude(); // returns the latitude of the address
$location->getLongitude(); // returns the longitude of the address
$location->getCountry(); // returns the country of the address
$location->getLocality(); // returns the locality/city of the address
$location->getDistrict(); // returns the district of the address
$location->getPostcode(); // returns the postal code of the address
$location->getTown(); // returns the town of the address
$location->getStreetNumber(); // returns the street number of the address

Feedback

I'd love to hear what you have to say. Please open an issue for any feature requests that you may want or the bugs that you notice. Also you can contact me at kamranahmed.se@gmail.com or you can also find me at twitter @kamranahmed_se

Note

It should be noted that, the Google Geocoding API has the following limits in place and you should keep them in mind before using this wrapper:

  • 2,500 requests per 24 hour period.
  • 5 requests per second.