Reputation: 11
Have been trying for days on this code to insert latitude and longitude generated from google api. Heere is my code and error:
//Use the above code before the file_get_content. means, use the following code
$address1 = str_replace(" ", "+", $address1);
$json = file_get_contents("http://maps.google.com/maps/api/geocode/json?address=$address1&sensor=false®ion=GTH");
$json = json_decode($json);
$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$long = $json->{'results'}[1]->{'geometry'}->{'location'}->{'lng'};
//DATABASE INSERTION
include'include/convert.php';
$sqlquery3="insert
into
corp
(lat,lon) "."VALUES
('$lat','$long')";
Error Notice: Undefined offset: 1 in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\gg\companyregistration.php on line 207
Notice: Trying to get property of non-object in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\gg\companyregistration.php on line 207
Notice: Trying to get property of non-object in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\gg\companyregistration.php on line 207
Notice: Trying to get property of non-object in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\gg\companyregistration.php on line 207
Upvotes: 0
Views: 1202
Reputation: 1995
Why are you mixing index 0 and index 1 ?
Google API is returning an array of addresses. If your request returns 1 possible answer, results array will contain only 1 entry.
To get the latitude & longitude of the first address :
$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$long = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};
By doing :
$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$long = $json->{'results'}[1]->{'geometry'}->{'location'}->{'lng'};
You are using the latitude of the 1st result and the longitude of the 2nd result (in your case there is no second result).
Upvotes: 2