Compare commits
1 Commits
c5b0216a37
...
v0.1.51
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7789671fbc |
@@ -4,6 +4,15 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 2026-06-16
|
||||||
|
|
||||||
|
### 🗺️ 식당 상세 지도 링크 국내/해외 분기 (v0.1.51)
|
||||||
|
- 좌표 기반 한국 판정 (WGS84 KR bbox 33~38.7°N, 124~132°E)
|
||||||
|
- 국내: 네이버 지도 primary + Google Maps 보조 (네이버 URL은 신 도메인 /p/search/)
|
||||||
|
- 해외: Google Maps 단독
|
||||||
|
- 좌표 없으면 region 첫 토큰 fallback (구 데이터 호환)
|
||||||
|
- frontend-only 배포
|
||||||
|
|
||||||
## 2026-06-15
|
## 2026-06-15
|
||||||
|
|
||||||
### 🐛 캐치테이블 URL 패턴 수정 (v0.1.50)
|
### 🐛 캐치테이블 URL 패턴 수정 (v0.1.50)
|
||||||
|
|||||||
@@ -24,6 +24,15 @@ function buildSearchQuery(r: Restaurant): string {
|
|||||||
return r.name;
|
return r.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 좌표 기반 한국 판정 (WGS84). KR bbox 대략 33~38.7°N, 124~132°E.
|
||||||
|
// 좌표 없으면 region 첫 토큰으로 fallback (구 데이터 호환).
|
||||||
|
function isKoreaRestaurant(r: Restaurant): boolean {
|
||||||
|
if (r.latitude != null && r.longitude != null) {
|
||||||
|
return r.latitude >= 33 && r.latitude <= 38.7 && r.longitude >= 124 && r.longitude <= 132;
|
||||||
|
}
|
||||||
|
return !r.region || r.region.split("|")[0] === "한국";
|
||||||
|
}
|
||||||
|
|
||||||
export default function RestaurantDetail({
|
export default function RestaurantDetail({
|
||||||
restaurant,
|
restaurant,
|
||||||
onClose,
|
onClose,
|
||||||
@@ -138,22 +147,33 @@ export default function RestaurantDetail({
|
|||||||
)}
|
)}
|
||||||
{restaurant.google_place_id && (
|
{restaurant.google_place_id && (
|
||||||
<p className="flex gap-3">
|
<p className="flex gap-3">
|
||||||
<a
|
{isKoreaRestaurant(restaurant) ? (
|
||||||
href={`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(buildSearchQuery(restaurant))}`}
|
<>
|
||||||
target="_blank"
|
<a
|
||||||
rel="noopener noreferrer"
|
href={`https://map.naver.com/p/search/${encodeURIComponent(buildSearchQuery(restaurant))}`}
|
||||||
className="text-brand-600 dark:text-brand-400 hover:underline text-xs"
|
target="_blank"
|
||||||
>
|
rel="noopener noreferrer"
|
||||||
Google Maps에서 보기
|
className="text-green-600 dark:text-green-400 hover:underline text-xs"
|
||||||
</a>
|
>
|
||||||
{(!restaurant.region || restaurant.region.split("|")[0] === "한국") && (
|
네이버 지도에서 보기
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
href={`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(buildSearchQuery(restaurant))}`}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
className="text-gray-500 dark:text-gray-400 hover:underline text-xs"
|
||||||
|
>
|
||||||
|
Google Maps
|
||||||
|
</a>
|
||||||
|
</>
|
||||||
|
) : (
|
||||||
<a
|
<a
|
||||||
href={`https://map.naver.com/v5/search/${encodeURIComponent(restaurant.name)}`}
|
href={`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(buildSearchQuery(restaurant))}`}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
className="text-green-600 dark:text-green-400 hover:underline text-xs"
|
className="text-brand-600 dark:text-brand-400 hover:underline text-xs"
|
||||||
>
|
>
|
||||||
네이버 지도에서 보기
|
Google Maps에서 보기
|
||||||
</a>
|
</a>
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
Reference in New Issue
Block a user