Solved

PHP Geocoding question

Posted on 2014-10-26
3
188 Views
Last Modified: 2014-10-26
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
Comment
Question by:seopti
  • 2
3 Comments
 
LVL 58

Expert Comment

by:Gary
ID: 40405417
Post the json response.
0
 

Author Comment

by:seopti
ID: 40405419
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
 
LVL 58

Accepted Solution

by:
Gary earned 500 total points
ID: 40405433
$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

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I imagine that there are some, like me, who require a way of getting currency exchange rates for implementation in web project from time to time, so I thought I would share a solution that I have developed for this purpose. It turns out that Yaho…
Introduction This article is intended for those who are new to PHP error handling (https://www.experts-exchange.com/articles/11769/And-by-the-way-I-am-New-to-PHP.html).  It addresses one of the most common problems that plague beginning PHP develop…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

861 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question