No longer maintained, a better alternative would be geocoder-php
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
PHP >= 5.4.0 and curl
enabled server.
You can install the library using the following ways
The recommended installation method is through Composer, a dependency manager for PHP. Just add hugobots/php-geocode
to your project's composer.json
file:
{
"require": {
"hugobots/php-geocode": "*"
}
}
and then run composer install
. For further details you can find the package at Packagist.
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.
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
$location->getNeighborhood(); // returns the neighborhood of the address
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 [email protected] or you can also find me at twitter @kamranahmedse
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.