Laravel 8 – find nearest location by latitude and longitude. In this tutorial you will learn How to find nearest location using latitude and longitude in laravel.
Sometimes, you may find the nearest location using latitude and longitude in laravel 8,7,6 app . So, this tutorial will help you step by step to find nearest location using your current latitude and longitude in laravel 8 app.
As well as, fine neareby place using latitude and longitude query in laravel eloquent. you can use the following example for get nearest geolocation by mysql radius query in laravel 5, laravel 6, laravel 7 and laravel 8.
How to find nearest location using latitude and longitude in laravel
- Step 1 – Install Laravel 8 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 8 App
First of all, Execute the following command on the terminal to install/download laravel 8 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
In this step, execute the following command on terminal to create a controller name GoogleController. So you need to use the below command and create Controller :
php artisan make:controller LocationController
After successfully create controller go 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
In this step, execute the following command on the terminal to start development server. Use the php artisan serve command and start your 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.
Nice sample. But I think It would be better if you put your codes into SCM such as GitHub or GitLab.
Thank You