Я пытаюсь получить магазин neraby в Laravel 5.1 У меня есть геокодирующий парсер, который калучат coorinate. Но у меня проблема с формулами haversine. В основном мне нужно, чтобы из таблицы Aziende (Stores), с учетом лата, длинной категории e, переданной по URL-адресу, заходите в близлежащие магазины.Ближайшие магазины в Laravel
Стараюсь с этим кодом:
$dove = Input::get('dove');
$categoria_id = Input::get('id_categoria');
// 4: check if any matches found in the database table
if (!empty($dove)) {
$response = \GoogleMaps::load('geocoding')->setParamByKey ('address', $dove)->get();
$response = json_decode($response, true);
$latitude = $response['results'][0]['geometry']['location']['lat'];
$longitude = $response['results'][0]['geometry']['location']['lng'];
$radius = '5';
$aziende = DB::table('aziende')
->select(
('lat * acos(cos(radians(50)) * cos(radians(lat)) * cos(radians(lng) - radians(-122))
+ sin(radians(37)) * sin(radians(lat))) as distance'))->get();
} else {
$aziende = DB::table("aziende")->where('categoria', $categoria_id)->get();
}
?>
Какую базу данных/версию вы используете? Если вы используете MySQL, у вас есть ST_Distance ... v5.7 имеет ST_Distance_Sphere https://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html – jcorry