From e9aa4e03db888655f0752477ecab6c70581e9792 Mon Sep 17 00:00:00 2001 From: Seojun Lee Date: Thu, 19 Feb 2026 12:08:16 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=95=9C=EA=B5=AD=20=EC=A2=8C=ED=91=9C?= =?UTF-8?q?=20=EB=8C=80=EC=83=81=EC=9C=BC=EB=A1=9C=20location=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/member/service/GeocodingService.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/com/meetkey/server/domain/member/service/GeocodingService.java b/src/main/java/com/meetkey/server/domain/member/service/GeocodingService.java index 8192749..6051d1a 100644 --- a/src/main/java/com/meetkey/server/domain/member/service/GeocodingService.java +++ b/src/main/java/com/meetkey/server/domain/member/service/GeocodingService.java @@ -17,11 +17,27 @@ public class GeocodingService { @Value("${kakao.map-api-key}") private String kakaoMapApiKey; + // 한국 범위 (위도 33~39, 경도 124~132) + private static final double KOREA_MIN_LAT = 33.0; + private static final double KOREA_MAX_LAT = 39.0; + private static final double KOREA_MIN_LON = 124.0; + private static final double KOREA_MAX_LON = 132.0; + + private boolean isInKorea(Double latitude, Double longitude) { + return latitude >= KOREA_MIN_LAT && latitude <= KOREA_MAX_LAT + && longitude >= KOREA_MIN_LON && longitude <= KOREA_MAX_LON; + } + public String getAddress(Double latitude, Double longitude) { if (latitude == null || longitude == null) { return null; } + if (!isInKorea(latitude, longitude)) { + log.debug("Skipping Kakao geocoding for non-Korea coordinates: lat={}, lon={}", latitude, longitude); + return null; + } + try { String authorization = "KakaoAK " + kakaoMapApiKey;