Прежде всего, при регистрации по футзалу моя система запрашивает местоположение и сохраняет широту и долготу этого футзала в базе данных. И когда пользователь посещает мою систему, он запрашивает местоположение пользователя и сохраняет широту и долготу в сеансе.
с помощью этого футзала и широты и местоположения пользователя, я хочу вычислить расстояние между ними в КМ и показать в целевая страница.
Я пробовал
$lat = $request->session()->get("latitude");
$long = $request->session()->get("longitude");
$data['futsals'] = DB::table("users")
->where('is_futsal',1)
->select("*",
DB::raw("6371 * acos(cos(radians(".$lat."))
* cos(radians(users.latitude))
* cos(radians(users.longitude) - radians(".$long."))
+ sin(radians(".$lat."))
* sin(radians(users.latitude))) AS distance"))
->get();
Это дает мне расстояние, но когда я хочу показать расстояние между пользователем и мини-футболом, расстояние меняется. Я зарегистрировал футзал и авторизовался как пользователь из того же места. что означает, что расстояние между ними должно быть 0, но иногда оно дает мне 0, и это дает мне 1,9 км или 3,5 км