|
|
|
|
@ -140,7 +140,7 @@ class OtherController extends CommonController
|
|
|
|
|
$sortName = $all['sort_name'] ?? 'distance';
|
|
|
|
|
$sortType = $all['sort_type'] ?? 'asc';
|
|
|
|
|
|
|
|
|
|
// 使用简化的距离计算公式
|
|
|
|
|
// 使用简单的距离计算公式
|
|
|
|
|
$distanceFormula = "
|
|
|
|
|
(6371 * acos(
|
|
|
|
|
cos(radians(?)) *
|
|
|
|
|
@ -180,6 +180,20 @@ class OtherController extends CommonController
|
|
|
|
|
}
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
// 添加SQL调试信息
|
|
|
|
|
\Log::info('SQL Query', [
|
|
|
|
|
'sql' => $query->toSql(),
|
|
|
|
|
'bindings' => $query->getBindings()
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
// 添加参数调试信息
|
|
|
|
|
\Log::info('Distance Parameters', [
|
|
|
|
|
'latitude' => $latitude,
|
|
|
|
|
'longitude' => $longitude,
|
|
|
|
|
'latitude_type' => gettype($latitude),
|
|
|
|
|
'longitude_type' => gettype($longitude)
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
// 根据排序字段进行排序
|
|
|
|
|
if ($sortName === 'distance') {
|
|
|
|
|
// 距离排序始终按升序(从近到远)
|
|
|
|
|
@ -197,7 +211,9 @@ class OtherController extends CommonController
|
|
|
|
|
'target_lat' => '31.326810',
|
|
|
|
|
'target_lon' => '120.421618',
|
|
|
|
|
'expected_distance' => 13.22,
|
|
|
|
|
'actual_distance' => $result->first() ? $result->first()->distance : 'N/A'
|
|
|
|
|
'actual_distance' => $result->first() ? $result->first()->distance : 'N/A',
|
|
|
|
|
'formula' => $distanceFormula,
|
|
|
|
|
'parameters' => [$latitude, $longitude, $latitude]
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
return $this->success($result);
|
|
|
|
|
|