How to find nearest location using latitude and longitude in laravel 9

To find nearest location by latitude and longitude in laravel 9 apps. Through this tutorial, i am going to show you how to find nearest location using latitude and longitude in laravel 9 apps.

How to find nearest location using latitude and longitude in laravel

Follow the below given steps to find nearest location using latitude and longitude in laravel 9 apps:

  • Step 1 – Install Laravel 9 App
  • Step 2 – Connecting App to Database
  • Step 3 – Add Route
  • Step 4 – Generate Controller by Command
  • Step 5 – Run Development Server
  • Step 6 – Test This App

Step 1 – Install Laravel 9 App

Run the following command on the command prompt to install/download laravel 9 application in your system(server):

composer create-project --prefer-dist laravel/laravel blog

Step 2 – Connecting App to Database

After that, open “.env” file and update the database name, username and password in the env file:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=Enter_Your_Database_Name
DB_USERNAME=Enter_Your_Database_Username
DB_PASSWORD=Enter_Your_Database_Password

Step 3 – Add Route

In this step, add routes in the web.php file. Go to app/routes/web.php file and following routes in web.php file:

use App\Http\Controllers\LocationController;
Route::get('near-places', [LocationController::class, 'index']);

Step 4 – Generate Controller by Command

Run the following command on command prompt to build a controller name GoogleController. So you need to use the below command and create Controller :

php artisan make:controller LocationController

Then visit to app/controllers/LocationController.php and update the following code :

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
class LocationController extends Controller
{
    // ---------------- [ Load View ] ----------------
    public function index(Request $request) {
                $lat = YOUR_CURRENT_LATTITUDE;
		$lon = YOUR_CURRENT_LONGITUDE;
		   
		$data = DB::table("users")
		    ->select("users.id"
		        ,DB::raw("6371 * acos(cos(radians(" . $lat . ")) 
		        * cos(radians(users.lat)) 
		        * cos(radians(users.lon) - radians(" . $lon . ")) 
		        + sin(radians(" .$lat. ")) 
		        * sin(radians(users.lat))) AS distance"))
		        ->groupBy("users.id")
		        ->get();
      dd($data);
    }
}

Step 5 – Run Development Server

Run the following command on the command prompt to start development server:

 php artisan serve
If you want to run the project diffrent port so use this below command
php artisan serve --port=8080

Step 6 – Test This App

Open your browser and hit the following url on it:

 http://localhost:8000/near-places

Conclusion

In this google place autocomplete in laravel tutorial, you have learned how to implement google autocomplete web application using google place APIs in laravel.

Recommended Laravel Tutorials

Be First to Comment

Leave a Reply

Your email address will not be published.