A PHP5 library implements Geocoding and Reverse geocoding through The Google Maps Geocoding API.
Geocoding is the process of converting addresses (like "1600 Amphitheatre Parkway, Mountain View, CA") into geographic coordinates (like latitude 37.423021 and longitude -122.083739). Reverse geocoding is the process of converting geographic coordinates into a human-readable address.
To use the Google Maps Geocoding API, you need an API key. To acquire an API key follow the instructions.
try {
    $result = (new GMapsGeocode('YOUR_GOOGLE_API'))
        ->setAddress('Helsinki')
//        ->setRegion('FI')
        ->setComponents(array(
            'route' => 'Annegatan',
            'administrative_area' => 'Helsinki',
            'country' => 'Finland'
        ))
        ->search();
    print_r($result);
} catch (GMapsException $e) {
    printf('Error (%d): %s', $e->getCode(), $e->getMessage());
}Required method are setAddress or setComponents in a geocoding request and setRegion is optional.
Official documentation contains more about Component Filtering.
try {
    $geo = (new GMapsGeocodeReverse('YOUR_GOOGLE_API'))
        ->setLatLng('40.714224', '-73.961452')
//        ->setPlaceId('ChIJd8BlQ2BZwokRAFUEcm_qrcA')
        ->search();
    print_r($result);
} catch (GMapsException $e) {
    printf('Error (%d): %s', $e->getCode(), $e->getMessage());
}Required method are setLatLng or setPlaceId in a reverse geocoding request.
$ composer require dotzero/gmaps-geocodeClone the project using:
$ git clone https://github.com/dotzero/gmaps-geocode-php/and include the source files with:
    require_once("gmaps-geocode-php/src/GMapsException.php");
    require_once("gmaps-geocode-php/src/GMapsGeocodeBase.php");
    require_once("gmaps-geocode-php/src/GMapsGeocode.php");
    require_once("gmaps-geocode-php/src/GMapsGeocodeReverse.php");First install the dependencies, and after you can run:
GOOGLE_API=YOUR_GOOGLE_API vendor/bin/phpunitLicensed under the MIT license: http://www.opensource.org/licenses/mit-license.php