2017 © Pedro Peláez
 

library lib-geocode

Geocode library of the Ride framework

image

ride/lib-geocode

Geocode library of the Ride framework

  • Wednesday, September 20, 2017
  • by ride-user
  • Repository
  • 8 Watchers
  • 0 Stars
  • 1,247 Installations
  • PHP
  • 4 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 12 Versions
  • 2 % Grown

The README.md

Ride: Geocode Library

Geocoding library of the PHP Ride framework., (*1)

What's In This Library

GeocodeService

The GeocodeService interface is the main workhorse of this library. The implementations of this class perform the actual looking up of addresses to other providers., (*2)

There are a couple of implementations included in this library:, (*3)

ArcgisGeocodeService

This service uses Arcgis to perform geocoding of addresses. Check https://www.arcgis.com for more information about this service., (*4)

FreeGeoIpGeocodeService

This service uses freegeoip.net to get the location of an IP address or domain names. Check https://www.freegeoip.net for more information about this service., (*5)

GoogleGeocodeService

This service uses Google Maps to perform geocoding of addresses. Check [https://developers.google.com/maps/documentation/geocoding/intro](https://developers.google.com/maps/documentation/geocoding/intro] for more information about this service., (*6)

ChainGeocodeService

Use the ChainGeocodeService to chain simular services together. When the first service can't handle the lookup, the following service will be polled and so on., (*7)

GeocodeResult

The GeocodeResult interface is used to return the result of a GeocodeService. A default implementation is provided by the GenericGeocodeResult class., (*8)

GeocodeCoordinate

The GeocodeCoordinate interface is used to obtain the found coordinates from a GeocodeResult. A default implementation is provided by the GenericGeocodeCoordinate class., (*9)

Geocoder

The Geocoder is the facade to this library. You can add different services and give them a name. This name is then used to lookup specific addresses., (*10)

Code Sample

Check this code sample to see some possibilities of this library:, (*11)

<?php

use ride\library\http\client\Client;
use ride\library\geocode\service\ArcgisGeocodeService;
use ride\library\geocode\service\ChainGeocodeService;
use ride\library\geocode\service\FreeGeoIpGeocodeService;
use ride\library\geocode\service\GoogleGeocodeService;
use ride\library\geocode\Geocoder;

function createGeocoder(Client $httpClient) {
    // create a google service
    $googleService = new GoogleGeocodeService($httpClient);
    // optionally set a API key
    $googleService->setApiKey('your-api-key');

    // create a chain of address services
    $addressService = new ChainGeocodeService('address');
    $addressService->addService($googleService);
    $addressService->addService(new ArcgisGeocodeService($httpClient)); 

    // create a chain of ip services
    $ipService = new ChainGeocodeService('ip');
    $ipService->addService(new FreeGeoIpGeocodeService($httpClient));

    // create the geocoder and set our defined services to it
    $geocoder = new Geocoder();
    $geocoder->addService($addressService);
    $geocoder->addService($ipService);

    return $geocoder;
}

function geocodeStuff(Geocoder $geocoder) {
    try {
        $geocodeResult = $geocoder->geocode('address', 'Vital de costerstraat, Leuven'); 
        $geocodeResult = $geocoder->geocode('ip', 'github.com');
        $geocodeResult = $geocoder->geocode('ip', '8.8.8.8');
    } catch (GeocodeException $exception) {
        // could not find any result
    }
}

Installation

You can use Composer to install this library., (*12)

composer require ride/lib-geocode

The Versions

20/09 2017

dev-master

9999999-dev

Geocode library of the Ride framework

  Sources   Download

MIT

The Requires

 

by Joris Vandeweerd

20/09 2017

dev-develop

dev-develop

Geocode library of the Ride framework

  Sources   Download

MIT

The Requires

 

by Joris Vandeweerd

20/09 2017

1.3.0

1.3.0.0

Geocode library of the Ride framework

  Sources   Download

MIT

The Requires

 

by Joris Vandeweerd

15/09 2017

1.2.1

1.2.1.0

Geocode library of the Ride framework

  Sources   Download

MIT

The Requires

 

by Joris Vandeweerd

21/06 2017

1.2.0

1.2.0.0

Geocode library of the Ride framework

  Sources   Download

MIT

The Requires

 

by Joris Vandeweerd

16/06 2017

1.1.0

1.1.0.0

Geocode library of the Ride framework

  Sources   Download

MIT

The Requires

 

by Joris Vandeweerd

11/10 2016

1.0.0

1.0.0.0

Geocode library of the Ride framework

  Sources   Download

MIT

The Requires

 

by Joris Vandeweerd

04/05 2016

0.2.0

0.2.0.0

Geocode library of the Ride framework

  Sources   Download

MIT

The Requires

 

by Joris Vandeweerd

03/02 2015

0.1.3

0.1.3.0

Geocode library of the Ride framework

  Sources   Download

MIT

The Requires

 

by Joris Vandeweerd

30/12 2014

0.1.2

0.1.2.0

Geocode library of the Ride framework

  Sources   Download

MIT

The Requires

 

by Joris Vandeweerd

26/05 2014

0.1.1

0.1.1.0

Geocode library of the Ride framework

  Sources   Download

MIT

The Requires

 

by Joris Vandeweerd

26/05 2014

0.1.0

0.1.0.0

Geocode library of the Ride framework

  Sources   Download

MIT

The Requires

 

by Joris Vandeweerd