We get the address by latitude and longitude -using php code
In this post i would like explain about how did we get the complete address with using of longitude and latitude using google map API and php code. With following simple steps we can retrieve the complete address.
The following is may useful script to detect the address.
Step 1 : Signup for API key Google Map.
Step 2 : Follow the below php code:
if(isset($_GET['latitude']))
{
$latitude=$_GET['latitude'];
}
if(isset($_GET['longitude']))
{
$longitude=$_GET['longitude'];
}
Your API Key
Call the below function to get the address:
echo "<pre>";
var_dump($data);
echo "</pre>";
Function for get the data :
{
$lat=mb_convert_encoding($lat, 'UTF-8',mb_detect_encoding($lat, 'UTF-8, ISO-8859-1', true));
$long=mb_convert_encoding($long, 'UTF-8',mb_detect_encoding($long, 'UTF-8, ISO-8859-1', true));
$url="http://maps.google.com/maps/geo?q=$lat,$long&output=csv&sensor=false&key=".$key;
$response = getGeolocation($url);
if (substr($response, 0, 3) === '200') {
return $geo = explode(',', $response);
}
return false;
}
Function is for get the location is getGeolocation:
{
$init = curl_init();
curl_setopt($init, CURLOPT_URL, $url);
curl_setopt($init, CURLOPT_HEADER,0);
curl_setopt($init, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
curl_setopt($init, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($init);
curl_close($init);
return $response;
}
Hope that it may be useful.
Thank you,
useful…
Hi this code is not work
Warning: Wrong parameter count for mb_detect_encoding() in /opt/lampp/htdocs/map/map3.php on line 22
Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unknown encoding “-8” in /opt/lampp/htdocs/map/map3.php on line 22
Warning: Wrong parameter count for mb_detect_encoding() in /opt/lampp/htdocs/map/map3.php on line 23
Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unknown encoding “-8” in /opt/lampp/htdocs/map/map3.php on line 23
bool(false)
Hi Hashim,
Its working yaar, i place demo following url, we can find the details.
http://labs.anil2u.info/latlong.php?latitude=16.9662011&longitude=82.2243712
Thank you.
Useful but please write a post How to detect user’s country?
Thanx for your help anil.
The code was really helpful and easy to understand. Thanks Anil
Hi Dharmveer,
You can get the code for “How to detect user’s country” from:
http://www.phpclasses.org/browse/package/2363.html
It is very useful
Thanks
Thanks… Its really working..
Its really very usefull ….
thanks .
What does this do please
$url=”http://maps.google.com/maps/geo?q=$lat,$long&output=csv&sensor=false&key=”.$key;
Hi I am using the code but it is giving me bool(false) where i am using
echo “
“;
Please tell me what to do… whats wrong in my code
@Mayank , This code using older version of google map api. It will be working for v2. I will update the post using v3 API.
Hi Anil,
is there any Java corresponding code please?
No. I don’t have java related stuff in this blog.
It is really good..
Thanks
plz help me with the line
$init = curl_init();
it gives error as
Fatal error: Call to undefined function curl_init();
Hi Mayank,
you are getting boolean(false) because from google api v3 google doesn’t return status which we are checking in function
if (substr($response, 0, 3) === ‘200’) {
return $geo = explode(‘,’, $response);
so replace above code with this one
if ($response!=”) {
return $geo = explode(‘,’, $response);
Great job Done ! Thanks for sharing with us !
i got error
Fatal error: Call to undefined function curl_init() in C:\xampp\htdocs\PicTraveler_new\branches\1.0.0\Implementation\system\core\Loader.php(829) : eval()’d code on line 257
Demo @ http://labs.anil2u.info/latlong.php?latitude=16.9662011&longitude=82.2243712
Returns Null for all values