2017 © Pedro Peláez
 

library geocodio-php

Thin wrapper for the Geocodio API

image

stanley/geocodio-php

Thin wrapper for the Geocodio API

  • Wednesday, March 14, 2018
  • by davidstanley01
  • Repository
  • 2 Watchers
  • 23 Stars
  • 137,305 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 11 Forks
  • 3 Open issues
  • 15 Versions
  • 7 % Grown

The README.md

DEPRECATED

This library has been replaced by https://github.com/Geocodio/geocodio-library-php, (*1)

geocod.io PHP

Build Status, (*2)

Thin PHP wrapper for geocod.io geocoding API that includes a service provider for Laravel., (*3)

Features

  • Geocode an individual address
  • Batch geocode up to 10,000 addresses at a time
  • Parse an address into its identifiable components

Read the complete geocod.io geocoding API for service documentation., (*4)

Installing via Composer

The recommended way to install geocod.io PHP is through Composer., (*5)

# Install Composer
curl -sS https://getcomposer.org/installer | php

# Add Geocodio as a dependency
php composer.phar require stanley/geocodio-php:~1.0

After installing, you need to require Composer's autoloader:, (*6)

require('vendor/autoload.php');

Using

Using the geocod.io PHP library is super simple., (*7)

require('vendor/autoload.php');
use Stanley\Geocodio\Client;

// Create the new Client object by passing in your api key
$client = new Client('YOUR_API_KEY');

Note: Create an API key by signing up at https://dash.geocod.io/auth/register, (*8)

Geocode single address

To encode a single address, simply pass a string to the geocode function., (*9)

$data = '123 Anywhere St, Chicago, IL';
$result = $client->geocode($data);

Geocode multiple addresses

For multiple addresses, you can pass an array of addresses to the same geocode function., (*10)

$data = [
  '123 Anywhere St, Chicago, IL',
  '456 Oak St, Los Angeles, CA'
];
$result = $client->geocode($data);

Up to 10,000 addresses can be geocoded in a single batch request, (*11)

Reverse geocoding a single coordinate

geocod.io also supports reverse geocoding. To convert a single lat/long pair into an address, call the 'reverse' method., (*12)

The lat/long pairs should be separateed by a comma., (*13)

$data = '35.9746000,-77.9658000';
$result = $client->reverse($data);

Reverse geocoding multiple coordinates

To do a batch conversion, pass your lat/long pairs in an array., (*14)

$data = [
    '35.9746000,-77.9658000',
    '32.8793700,-96.6303900',
    '33.8337100,-117.8362320',
    '35.4171240,-80.6784760'
];
$result = $client->reverse($data);

Fields

Geocoding and reverse geocoding requests accepts an optional second parameter for fields., (*15)

$data = '123 Anywhere St, Chicago, IL';
$result = $client->geocode($data, ['cd', 'stateleg']);
$data = "35.9746000,-77.9658000";
$result = $client->reverse($data, ['cd', 'stateleg']);
$data = [
  '123 Anywhere St, Chicago, IL',
  '456 Oak St, Los Angeles, CA'
];
$result = $client->geocode($data, ['cd', 'stateleg']);

Return Values

The geocod.io PHP client will return an instance of the Stanley\Geocodio\Data class. The raw response body can be accessed from the response property. This property had the response data stored as an object., (*16)

$body = $address->response;

Laravel Service Provider and Facade

A service provder and facade are available if you are using Laravel. Once you've added the package to your composer.json file, run php composer.phar update. Add 'Stanley\Geocodio\ServiceProviders\LaravelServiceProvider'to the providers key. Then, edit the aliases key and add 'Geocodio' => 'Stanley\Geocodio\Geocodio' to the array., (*17)

You are now ready to use the Facade. If you are using Laravel, you will need to pass your API Key as the third parameter., (*18)

$fields = [];
$key = 'YOUR_API_KEY';
$data = Geocodio::get('123 Anywhere St, Chicago, IL', $fields, $key);
return response()->json($data);

Exceptions

Periodically, the geocod.io service will return errors., (*19)

To handle these:, (*20)

  • An HTTP 403 error raises a GeocodioAuthError
  • An HTTP 422 error raises a GeocodioDataError and the error message will be reported through the exception
  • An HTTP 5xx error raises a GeocodioServerError
  • An unmatched non-200 response will simply raise Exception

Credits

The original library was written by David Stanley. Much of this readme and the structure of this library was inspired by the Py-Geocodio Library by Ben Lopatin., (*21)

The Versions

14/03 2018

dev-master

9999999-dev

Thin wrapper for the Geocodio API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Mathias Hansen
by David Stanley

14/03 2018

1.6.0

1.6.0.0

Thin wrapper for the Geocodio API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Mathias Hansen
by David Stanley

14/03 2018

1.6.1

1.6.1.0

Thin wrapper for the Geocodio API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Mathias Hansen
by David Stanley

14/03 2018

1.5.0

1.5.0.0

Thin wrapper for the Geocodio API

  Sources   Download

MIT

The Requires

 

The Development Requires

by Mathias Hansen
by David Stanley

12/10 2017

1.3.2

1.3.2.0

Thin wrapper for the Geocodio API

  Sources   Download

The Requires

 

The Development Requires

by Mathias Hansen
by David Stanley

28/06 2017

1.3.1

1.3.1.0

Thin wrapper for the Geocodio API

  Sources   Download

The Requires

 

The Development Requires

by Mathias Hansen
by David Stanley

23/06 2017

1.3.0

1.3.0.0

Thin wrapper for the Geocodio API

  Sources   Download

The Requires

 

The Development Requires

by Mathias Hansen
by David Stanley

15/01 2016

1.2.0

1.2.0.0

Thin wrapper for the Geocodio API

  Sources   Download

The Requires

 

The Development Requires

by David Stanley

03/02 2014

1.1.0

1.1.0.0

Thin wrapper for the Geocodio API

  Sources   Download

The Requires

 

The Development Requires

by David Stanley

03/02 2014

dev-dev

dev-dev

Thin wrapper for the Geocodio API

  Sources   Download

The Requires

 

The Development Requires

by David Stanley

27/01 2014

1.0.6

1.0.6.0

Thin wrapper for the Geocodio API

  Sources   Download

The Requires

 

The Development Requires

by David Stanley

24/01 2014

1.0.5

1.0.5.0

Thin wrapper for the Geocodio API

  Sources   Download

The Requires

 

The Development Requires

by David Stanley

23/01 2014

1.0.4

1.0.4.0

Thin wrapper for the Geocodio API

  Sources   Download

The Requires

 

The Development Requires

by David Stanley

23/01 2014

1.0.3

1.0.3.0

Thin wrapper for the Geocodio API

  Sources   Download

The Requires

 

The Development Requires

by David Stanley

22/01 2014

1.0.0

1.0.0.0

Thin wrapper for the Geocodio API

  Sources   Download

The Requires

 

The Development Requires

by David Stanley