Downloads
Stars
Version
This is a fork of https://travis-ci.org/adityamenon/postcodes-io-laravel.svg to work on Laravel 5.
A laravel package for querying the postcodes.io web service.
Most of the Guzzle layer code was taken from @BoxUk's Symfony bundle, many props!
Installation is handled via Composer.
Run the following command:
$ composer require chadanuk/postcodes-io dev-master
This should add the following to your project's composer.json
file:
"require": {
"chadanuk/postcodes-io": "dev-master"
}
Add the Service Provider to your app/config/app.php
file:
'providers' => array('Chadanuk\PostcodesIo\PostcodesIoServiceProvider')
Add the Facade in the same file:
'aliases' => array('PostcodesIo' => 'Chadanuk\PostcodesIo\Facade')
Use the PostcodesIo
facade with any of the methods below to get data from the service. For example: PostcodesIo::lookup('CF10 1DD')
.
Lookup data about a particular postcode.
Parameters:
postcode
(Required): The postcode.Example:
$response = $client->lookup(array('postcode' => 'CF10 1DD'));
Lookup data about a set of postcodes.
Parameters:
postcodes
(Required): An array of postcodes (max 100).Example:
$response = $client->bulkLookup(array('postcodes' => array('CF10 1DD', 'W1B 4BD'));
Get data for postcodes nearest a given latitude/longitude coordinate.
Parameters:
latitude
(Required): The latitude.longitude
(Required): The longitude.limit
(Optional): The maximum number of postcodes to return (default 10, max 100).radius
(Optional): The radius in metres in which to find postcodes (default 100, max 1000).Example:
$response = $client->reverseGeocode(array('latitude' => 51.481667, 'longitude' => -3.182155);
Bulk translation of latitude/longitude coordinates into postcode data.
Parameters:
geolocations
(Required): The geolocations to look up (maximum 100). This parameter should be an array, each element with the following keys:
latitude
(Required): The latitude.longitude
(Required): The longitude.limit
(Optional): The maximum number of postcodes to return (default 10, max 100).radius
(Optional): The radius in metres in which to find postcodes (default 100, max 1000).Example:
$response = $client->bulkReverseGeocode(
array(
'geolocations' => array(
array('latitude' => 51.481667, 'longitude' => -3.182155),
array('latitude' => 51.88328, 'longitude' => -3.43684, 'limit' => 5, 'radius' => 500)
)
)
);
Find postcodes matching a given query.
Parameters:
query
(Optional): The postcode query, e.g. 'CF10'.limit
(Optional): The maximum number of postcodes to return (default 10, max 100).Example:
$response = $client->matching(array('query' => 'CF10', 'limit' => 20);
Validate a postcode.
Parameters:
postcode
(Required): The postcode to validate.Example:
$response = $client->validate(array('postcode' => 'CF10 1DD');
Get a list of postcodes to autocomplete a partial postcode.
Parameters:
postcode
(Required): The postcode to autocomplete.limit
(Optional): The maximum number of postcodes to return (default 10, max 100).Example:
$response = $client->autocomplete(array('postcode' => 'CF10', 'limit' => 20);
Get data for a random postcode.
Parameters: None.
Example:
$response = $client->random();
Get data for the specified "outward code" (first half of postcode).
Parameters:
outcode
(Required): The outward code (first half of postcode) to get location data for.Example:
$response = $client->outwardCodeLookup(array('outcode' => 'CF10');