diff --git a/app/Http/Controllers/Api/Hr/SignController.php b/app/Http/Controllers/Api/Hr/SignController.php index 4910041..21a55e1 100644 --- a/app/Http/Controllers/Api/Hr/SignController.php +++ b/app/Http/Controllers/Api/Hr/SignController.php @@ -76,6 +76,7 @@ class SignController extends Controller if ($request->filled(['lon', 'lat'])) { $lon = $request->input('lon'); $lat = $request->input('lat'); + // 切换坐标系 $locationType = $request->input('location_type', 'wgs84'); if ($locationType == 'wgs84') { $res = wgs84ToGcj02($lat, $lon); @@ -135,9 +136,18 @@ class SignController extends Controller $maxDistance = (int) AdminSettingService::make()->arrayGet('sign', 'distance'); if ($maxDistance > 0 && $type == SignType::Normal) { + $lon = $request->input('position.lon'); + $lat = $request->input('position.lat'); + $locationType = $request->input('position.location_type', 'wgs84'); + // 切换坐标系 + if ($locationType == 'wgs84') { + $res = wgs84ToGcj02($lat, $lon); + $lon = $res['lon']; + $lat = $res['lat']; + } $distance = $service->haversineDistance( - $request->input('position.lat'), - $request->input('position.lon'), + $lat, + $lon, $store->lat, $store->lon, );