A PHP5 library implements Geocoding and Reverse geocoding through The Google Maps Geocoding API
Switch branches/tags
Nothing to show
Clone or download
Latest commit 1ad2da7 Apr 12, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Update examples Apr 11, 2016
src Typo Apr 12, 2016
tests Fix sendRequest() results Apr 12, 2016
.gitignore Add .gitignore Apr 11, 2016
.travis.yml Add .travis.yml Apr 11, 2016
LICENSE Add LICENSE Apr 11, 2016
README.md Upgrade README Apr 12, 2016
composer.json Add composer.json Apr 11, 2016
phpunit.xml.dist Add Tests Apr 11, 2016

README.md

PHP Google Maps Geocode

Build Status Latest Stable Version License

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.

Usage

To use the Google Maps Geocoding API, you need an API key. To acquire an API key follow the instructions.

Geocoding (Latitude/Longitude Lookup)

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.

Reverse Geocoding (Address Lookup)

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.

Install

Via composer:

$ composer require dotzero/gmaps-geocode

Without composer

Clone 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");

Test

First install the dependencies, and after you can run:

GOOGLE_API=YOUR_GOOGLE_API vendor/bin/phpunit

License

Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php