From b1955f762512b0049a7e3fb776c200588a698336 Mon Sep 17 00:00:00 2001 From: panliang <1163816051@qq.com> Date: Sat, 18 May 2024 09:17:57 +0800 Subject: [PATCH] wgs84 to gcj02 --- app/Http/Controllers/Api/Hr/SignController.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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, );