Get Latitude and Longitude From Address in Codeigniter
Codeigniter 06-Dec-2021

Get Latitude and Longitude From Address in Codeigniter

In this tutorial, you learn how to get latitude and longitude from an address in PHP Codeigniter.

If you need to get latitude and longitude from an address in PHP Codeigniter. Google has provided API that name google geocode API. In this tutorial, we will use this API and get latitude and longitude from the address in PHP Codeigniter.

Get Latitude and Longitude From Address in Codeigniter

Follow the below steps and get Latitude and Longitude From Address in Codeigniter using the google geocode API:

1. Use google API with key

https://maps.google.com/maps/api/geocode/json?address='.$address.'&key=your_api_key

2. Create functions to getting address

Next, we need to create two functions in the first is getlocation() and second one is get_longitude_latitude_from_adress().

Explanation of created functions

getlocation() :- When we pass the address in this function, inside this function we will call the get_longitude_latitude_from_adress() this function with address and it will return latitude and longitude from address.

get_longitude_latitude_from_adress() :- In this function, we will pass the address and this function call google geocode apis and get latitude and longitude from address.

public function getlocation()
{
    $address = "London united state";
    $array  = $this->get_longitude_latitude_from_adress($address);
    $latitude  = round($array['lat'], 6);
    $longitude = round($array['long'], 6);           
}
 
function get_longitude_latitude_from_adress($address){
  
$lat =  0;
$long = 0;
 
 $address = str_replace(',,', ',', $address);
 $address = str_replace(', ,', ',', $address);
 
 $address = str_replace(" ", "+", $address);
  try {
 $json = file_get_contents('https://maps.google.com/maps/api/geocode/json?address='.$address.'&key=your_api_key');
 $json1 = json_decode($json);
 
 if($json1->{'status'} == 'ZERO_RESULTS') {
 return [
     'lat' => 0,
     'lng' => 0
    ];
 }
 
 if(isset($json1->results)){
    
    $lat = ($json1->{'results'}[0]->{'geometry'}->{'location'}->{'lat'});
    $long = ($json1->{'results'}[0]->{'geometry'}->{'location'}->{'lng'});
  }
  } catch(exception $e) { }
 return [
 'lat' => $lat,
 'lng' => $long
 ];
}

Note:- You can also place these functions in Codeigniter helper and call the function where you want to get latitude and longitude from address.