Laravel 10 Find Nearest Location By Latitude and Longitude Example
Hey Artisan,
Today our leading topic is laravel 10 find nearest location by lat and long. We will use find closest location with longitude and latitude laravel 10. we will help you to give an example of how to find near location using latitude and longitude in laravel 10. We will look at an example of laravel 10 find near by lat and long. follow the below step for get nearest location based on latitude and longitude laravel 10.
If you have places, hotels, homes, cities, states, countries, products, dealers, suppliers, etc with latitude and longitude locations then you can simply find them easily nearby you. I will give you a simple example. we will add lat and long on the users table and find users by the nearest latitude and longitude.
Let's follow the below step to do this example.
Step 1: Install Laravel
first of all we need to get fresh Laravel version application using bellow command, So open your terminal OR command prompt and run bellow command:
composer create-project laravel/laravel blog
Step 2: Create Route
In this is step we need to create one route for getting near location from lat and long example.
routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\LocationController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('near-by-places', [LocationController::class, 'index']);
Step 3: Create Controller
in this step, we need to create LocationController and add following code on that file. you have users table with lat and long columns. also add some dummy records on table as well.
app/Http/Controllers/LocationController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Model\User;
class LocationController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$lat = YOUR_CURRENT_LATTITUDE;
$lon = YOUR_CURRENT_LONGITUDE;
$users = User::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($users);
}
}
Run Laravel App:
All the required steps have been done, now you have to type the given below command and hit enter to run the Laravel app:
php artisan serve
Now, Go to your web browser, type the given URL and view the app output:
http://localhost:8000/near-by-places
i hope it can help you...
Hardik Savani
I'm a full-stack developer, entrepreneur and owner of ItSolutionstuff.com. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Laravel, Angular, Vue, Node, Javascript, JQuery, Codeigniter and Bootstrap from the early stage. I believe in Hardworking and Consistency.
We are Recommending you
- Laravel 10 CRUD with Image Upload Tutorial
- Laravel 10 Create RSS Feed Example Tutorial
- Laravel 10 Generate Sitemap XML File Tutorial Example
- How to Merge Multiple PDF Files in Laravel 10?
- Laravel 10 Image Intervention Tutorial With Example
- Laravel 10 Autocomplete Search from Database Example
- Laravel 10 Google Recaptcha V3 Example Tutorial
- Laravel 10 Google Charts Tutorial Example
- Laravel 10 Fullcalendar Ajax Tutorial Example
- Laravel 10 Multiple Database Connections Example
- Laravel 10 Summernote Editor with Image Upload
- Laravel 10 Stripe Payment Gateway Integration Tutorial
- Laravel 10 Middleware Tutorial Example
- Laravel 10 Database Seeder Example Tutorial