How to find nearest location using latitude and longitude in laravel

Laravel 8 , Laravel 7 , Laravel 6

Nicesnippets

369

17-02-2021


In this post, i would like to fine neareby place using latitude and longitude query in laravel eloquent. you can simply get nearest geolocation by mysql radius query in laravel 5, laravel 6, laravel 7 and laravel 8.

If you have places, hotels, home, city, state, country, products, dealer, supplier etc with latitude and longitude location then you can simply find easily nearby you. so let's see following sq query that can simply use in laravel model query.

Here is you can see sql query:

6371 * acos(cos(radians(" . $lat . "))

* cos(radians(posts.lat))

* cos(radians(posts.lon) - radians(" . $lon . "))

+ sin(radians(" .$lat. "))

* sin(radians(posts.lat))) AS distance

Example:


$lat = YOUR_CURRENT_LATTITUDE;

$lon = YOUR_CURRENT_LONGITUDE;

DB::table("posts")

->select("posts.id"

,DB::raw("6371 * acos(cos(radians(" . $lat . "))

* cos(radians(posts.lat))

* cos(radians(posts.lon) - radians(" . $lon . "))

+ sin(radians(" .$lat. "))

* sin(radians(posts.lat))) AS distance"))

->groupBy("posts.id")

->get();

I will help you...


Recommended Posts