fix: NaverLocalSearchResult 좌표 필드 타입 오류 수정

- NaverLocalSearchResult에 latitude/longitude 필드가 없는 문제 해결
- 네이버 API는 mapx/mapy (네이버 좌표계) 사용
- 거리 계산 대신 네이버 API의 좌표 기반 정렬 기능 활용
- 불필요한 DistanceCalculator import 제거

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
JiWoong Sul
2025-07-30 19:38:32 +09:00
parent 9a61e2f391
commit 53ad14a8eb

View File

@@ -4,7 +4,6 @@ import '../../api/naver_api_client.dart';
import '../../api/naver/naver_local_search_api.dart'; import '../../api/naver/naver_local_search_api.dart';
import '../../../domain/entities/restaurant.dart'; import '../../../domain/entities/restaurant.dart';
import '../../../core/errors/network_exceptions.dart'; import '../../../core/errors/network_exceptions.dart';
import '../../../core/utils/distance_calculator.dart';
import 'naver_map_parser.dart'; import 'naver_map_parser.dart';
/// 네이버 검색 서비스 /// 네이버 검색 서비스
@@ -197,25 +196,12 @@ class NaverSearchService {
} }
// 주소가 없고 위치 정보가 있는 경우 - 가장 가까운 업체 선택 // 주소가 없고 위치 정보가 있는 경우 - 가장 가까운 업체 선택
// TODO: 네이버 좌표계(mapx, mapy)를 WGS84 좌표계로 변환하는 로직 필요
// 현재는 네이버 API가 좌표 기반 정렬을 지원하므로 첫 번째 결과 사용
if ((address == null || address.isEmpty) && latitude != null && longitude != null) { if ((address == null || address.isEmpty) && latitude != null && longitude != null) {
NaverLocalSearchResult? closestResult; // 네이버 API는 coordinate 파라미터로 좌표 기반 정렬을 지원
double minDistance = double.infinity; // searchRestaurants에서 이미 가까운 순으로 정렬되어 반환됨
return results.first;
for (final result in results) {
final distance = DistanceCalculator.calculateDistance(
lat1: latitude,
lon1: longitude,
lat2: result.latitude,
lon2: result.longitude,
);
if (distance < minDistance) {
minDistance = distance;
closestResult = result;
}
}
return closestResult ?? results.first;
} }
// 유사도 계산 (간단한 버전) // 유사도 계산 (간단한 버전)