Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 196
  • Last Modified:

PHP Geocoding question

I'm trying to get lat and long when geocoding an address.

For example this address as $address:

http://www.geocodefarm.com/api/forward/json/c3140ba389a289bd42c51ebe2d72ccc67fb4633c/1058 W Club Blvd,Durham,North-Carolina,27701

Open in new window


This is the code:

 
// Take the address in a variable
	$address = $attorneysStuff['bizAddr'].','.$attorneysStuff['bizCity'].','.$attorneysStuff['bizState'].','.$attorneysStuff['bizZip'];
 
 
$address_url = "http://www.geocodefarm.com/api/forward/json/c3140ba389a289bd42c51ebe2d72ccc67fb4633c/$address";



$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $address_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
 
$response_a = json_decode($response);
 
//Print the provided address in Human readable/ complete Postal address;
echo $address_returned = $response_a->results[0]->ADDRESS->address_returned.'<br />';
 
//Print the Latitude and Longitude of the address
echo $lat = $response_a->geocoding_results[0]->COORDINATES->latitude.'<br />';
echo $long = $response_a->geocoding_results[0]->COORDINATES->longitude;

Open in new window



The problem is echo $address_returned  and echo $lat and echo $long won't print anything: I'm sure there is an error in the print string not in the curl but I can't find it.
0
seopti
Asked:
seopti
  • 2
1 Solution
 
GaryCommented:
Post the json response.
0
 
seoptiAuthor Commented:
When you copy and paste the first string in your browser you can see the json response which is:

{

    "geocoding_results": {
        "LEGAL_COPYRIGHT": {
            "copyright_notice": "Copyright (c) 2013 Grabenhofen Corporation (Colorado, USA) - All Rights Reserved.",
            "result_distribution": "UNPERMITTED, UNLICENSED",
            "copyright_logo": "https://www.geocodefarm.com/assets/img/logo.png",
            "terms_of_service": "https://www.geocodefarm.com/policies/terms-of-service/",
            "privacy_policy": "https://www.geocodefarm.com/policies/privacy-policy/"
        },
        "STATUS": {
            "access": "KEY_VALID, ACCESS_GRANTED",
            "status": "SUCCESS"
        },
        "ACCOUNT": {
            "name": "Thomas Kowalewski",
            "email": "support@apollofind.com",
            "api_key": "c3140ba389a289bd42c51ebe2d72ccc67fb4633c",
            "monthly_due": "75.00",
            "next_due": "2014-11-25 23:06:13",
            "distribution_license": "NONE, UNLICENSED",
            "usage_limit": "100000",
            "used_today": "239",
            "remaining_queries": "99761"
        },
        "PROVIDER": {
            "provider": "LOCAL_FARM",
            "import": "ALREADY_STORED"
        },
        "ADDRESS": {
            "address_provided": "1058 W Club Blvd,Durham,North-Carolina,27701",
            "address_returned": "Northgate Mall, 1058 West Club Boulevard, Durham, NC 27701, USA",
            "accuracy": "VERY ACCURATE"
        },
        "COORDINATES": {
            "latitude": "36.0201168129003",
            "longitude": "-78.9100018570646"
        },
        "STATISTICS": {
            "load_time": "0.38",
            "https_ssl": "DISABLED, INSECURE"

Open in new window

0
 
GaryCommented:
$response_a = json_decode($response);

//Print the provided address in Human readable/ complete Postal address;
echo $address_returned = $response_a->geocoding_results->ADDRESS->address_returned.'<br />';
 
//Print the Latitude and Longitude of the address
echo $lat = $response_a->geocoding_results->COORDINATES->latitude.'<br />';
echo $long = $response_a->geocoding_results->COORDINATES->longitude;

Open in new window

0

Featured Post

[Webinar] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now