| 
<?php
/*
 example usage
 streetLayer ver 1.0
 
 You must get an API key from https://streetlayer.com/product
 and enter it in the streetlayer.class.php file
 
 For more documentation, visit https://streetlayer.com/documentation
 */
 
 //turning off low level notices
 error_reporting(E_ALL ^ E_NOTICE);
 
 //set your plan to diplay features associated with it.
 //plans are free, basic, pro and enterprise
 $plan = 'free';
 
 //instantiate the class
 include('streetlayer.class.php');
 $streetLayer = new streetLayer();
 
 //set our endpoint
 //defaults to the validate endpoint, but we will set it just to be safe
 $streetLayer->setEndPoint('validate');
 
 /*
 specify the address to validate
 at a minimum, you must provide the required parameters
 and one additional one.
 valid parameters are:
 
 address1 (required)
 country_code (required) - can be the 2 or 3 digit country code
 locality - you may also use 'city' as an alias
 region - you may also use 'state' as an alias
 postal_code - you may also use 'zip', 'zipcode', 'zip_code', 'postal_code'
 county
 */
 
 $streetLayer->setParam('address1','725 5th Ave');
 $streetLayer->setParam('locality','New York');
 $streetLayer->setParam('region','NY');
 $streetLayer->setParam('postal_code','10022');
 $streetLayer->setParam('country_code','US');
 
 //get the response from the api
 $streetLayer->getResponse();
 
 //the reponse property will contain the response returned from the api
 echo '<h4>The validation request returned</h4>';
 $success = ( $streetLayer->response->success === true ) ? 'Yes' : 'No';
 echo 'Success: '. $success.'<br>';
 echo 'Validated: '.$streetLayer->response->validation_status.'<br>';
 echo 'The formatted address is:<br><br>';
 
 foreach( $streetLayer->response->formatted_address as $addressLine ){
 echo $addressLine.'<br>';
 }
 
 echo '<br>GPS Coordinate are<br><br>';
 
 foreach( $streetLayer->response->coordinates as $key=>$value ){
 echo $key.': '.$value.'<br>';
 }
 
 /*
 You can also use a second method to validate an address
 valid parameter are:
 
 text (required)
 country_code (required)
 
 $streetLayer->setParam('text','725 5th Ave New York, NY 10022');
 $streetLayer->setParam('country_code','US');
 $streetLayer->getResponse();
 
 */
 
 //change our endpoint to use the address autocomplete
 $streetLayer->setEndPoint('autocomplete');
 
 /*
 specify the address to autocomplete
 at a minimum, you must provide the required parameters
 pro and enterprise plans allow for the postal code to
 return better results
 valid parameters are:
 
 text (required)
 country_code (required)
 postal_code - you may also use 'zip', 'zipcode', 'zip_code', 'postal_code'
 */
 
 $streetLayer->setParam('text','725 5th Ave New York');
 $streetLayer->setParam('country_code','US');
 if( $plan == 'pro' or $plan == 'enterprise' ){
 $streetLayer->setParam('postal_code','10022');
 }
 
 //get the response from the api
 $streetLayer->getResponse();
 
 echo '<h4>The autocomplete request returned</h4>';
 $success = ( $streetLayer->response->success == true ) ? 'Yes' : 'No';
 echo 'Success: '. $success.'<br>';
 if( $success == 'Yes' ){
 echo 'The formatted address choices are:<br><br>';
 
 $count = 1;
 
 foreach( $streetLayer->response->results as $address ){
 echo $count.')<br>';
 
 foreach( $address->formatted_address as $addressLine ){
 if( empty($addressLine) ){continue;}
 echo $addressLine.'<br>';
 }
 
 echo '<br>GPS Coordinate are<br><br>';
 
 foreach( $address->coordinates as $key=>$value ){
 if( empty($value) ){continue;}
 echo $key.': '.$value.'<br>';
 }
 
 echo '<br>';
 $count++;
 
 }
 
 }
 
 
 //change our endpoint to use the reverse geocode lookup
 $streetLayer->setEndPoint('reverse');
 
 /*
 specify the coordinates
 valid parameters are:
 
 latitude (required) - you may also use 'lat'
 lognitude (required) - you may also use 'lon' or 'long'
 */
 
 $streetLayer->setParam('lat',40.762342);
 $streetLayer->setParam('lon',-73.973992);
 
 //get the response from the api
 $streetLayer->getResponse();
 
 echo '<h4>The reverse geocode lookup returned</h4>';
 $success = ( $streetLayer->response->success == true ) ? 'Yes' : 'No';
 echo 'Success: '. $success.'<br>';
 if( $success == 'Yes' ){
 echo 'The formatted address choices are:<br><br>';
 
 $count = 1;
 
 foreach( $streetLayer->response->results as $address ){
 echo $count.')<br>';
 
 foreach( $address->formatted_address as $addressLine ){
 if( empty($addressLine) ){continue;}
 echo $addressLine.'<br>';
 }
 
 echo '<br>GPS Coordinate are<br><br>';
 
 foreach( $address->coordinates as $key=>$value ){
 if( empty($value) ){continue;}
 echo $key.': '.$value.'<br>';
 }
 
 echo '<br>';
 $count++;
 
 }
 
 }
 ?>
 
 |