Home > PHP > PHP Code > We get the address by latitude and longitude -using php code

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:

<?php
if(isset($_GET['latitude']))
{
$latitude=$_GET['latitude'];
}
if(isset($_GET['longitude']))
{
$longitude=$_GET['longitude'];
}

Your API Key

$key= "Your API Key";

Call the below function to get the address:

$data=translateLatLngtoAddress($latitude,$longitude,$key);

echo "<pre>";
var_dump($data);
echo "</pre>";

Function for get the data :

function translateLatLngtoAddress($lat,$long,$key)
{
$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&amp;output=csv&amp;sensor=false&amp;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:

function getGeolocation($url)
{

$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,

 

20 Responses

  1. Hashim

    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)

  2. Pingback : Top 10 most viewed posts in anil labs - Anil Labs

  3. Hi I am using the code but it is giving me bool(false) where i am using

    echo “

    ";
    var_dump($data);
    echo "

    “;

    Please tell me what to do… whats wrong in my code

  4. john

    plz help me with the line

    $init = curl_init();

    it gives error as

    Fatal error: Call to undefined function curl_init();

  5. 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);

  6. ketan patil

    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

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.