Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

Readme.md

ArcGIS Online

Build Status Latest Stable Version Total Downloads Monthly Downloads Code Coverage Quality Score Software License

This is the ArcGIS provider from the PHP Geocoder. This is a READ ONLY repository. See the main repo for information and documentation.

ArcGIS provides 2 APIs for geocoding addresses:

  • geocodeAddresses
  • findAddressCandidates
    • This API states:

    Applications are contractually prohibited from storing the results of geocoding transactions unless they make the request by passing the forStorage parameter with a value of true and the token parameter with a valid ArcGIS Online token.

Since a token is required for the geocodeAddresses API, the geocodeQuery method checks the token property:

  • If token is NULL, it uses the findAddressCandidates API.
  • If token is not NULL, it uses the geocodeAddresses API.

Usage

Without a token

$httpClient = new \Http\Adapter\Guzzle6\Client();

$provider = new \Geocoder\Provider\ArcGISList\ArcGISList($httpClient);

// Uses the `findAddressCandidates` operation. Result storage is prohibited.
$result = $geocoder->geocodeQuery(GeocodeQuery::create('Buckingham Palace, London'));

With a token

$httpClient = new \Http\Adapter\Guzzle6\Client();

// Your token is required.
$provider = \Geocoder\Provider\ArcGISList\ArcGISList::token($httpClient, 'your-token');

// Uses the `geocodeAddresses` operation. Result storage is permitted.
$result = $geocoder->geocodeQuery(GeocodeQuery::create('Buckingham Palace, London'));

Install

composer require geocoder-php/arcgis-online-provider

Note

It is possible to specify a sourceCountry to restrict results to this specific country thus reducing request time (note that this doesn't work on reverse geocoding).

Contribute

Contributions are very welcome! Send a pull request to the main repository or report any issues you find on the issue tracker.