|
@@ -41,36 +41,52 @@ export interface ExchangeGeo {
|
|
|
major?: boolean; // 주요국 탭 포함 여부
|
|
major?: boolean; // 주요국 탭 포함 여부
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// 40개국(주요국 16 + 지역별 확장). Yahoo v8 유효 심볼만 시드 — KR 은 IndexDailyPrice 병합.
|
|
|
export const EXCHANGE_GEO: Record<string, ExchangeGeo> = {
|
|
export const EXCHANGE_GEO: Record<string, ExchangeGeo> = {
|
|
|
- // 주요국(major) — 사용자 지정 16개국 (2026-07-09)
|
|
|
|
|
- US: { lat: 40.7, lng: -74.0, label: '미국', region: 'america', major: true },
|
|
|
|
|
KR: { lat: 37.5, lng: 127.0, label: '한국', region: 'asia', major: true },
|
|
KR: { lat: 37.5, lng: 127.0, label: '한국', region: 'asia', major: true },
|
|
|
|
|
+ // 아메리카
|
|
|
|
|
+ US: { lat: 40.7, lng: -74.0, label: '미국', region: 'america', major: true },
|
|
|
|
|
+ CA: { lat: 43.7, lng: -79.4, label: '캐나다', region: 'america', major: true },
|
|
|
|
|
+ MX: { lat: 19.43, lng: -99.13, label: '멕시코', region: 'america', major: true },
|
|
|
|
|
+ BR: { lat: -23.5, lng: -46.6, label: '브라질', region: 'america', major: true },
|
|
|
|
|
+ AR: { lat: -34.6, lng: -58.4, label: '아르헨티나', region: 'america' },
|
|
|
|
|
+ CL: { lat: -33.45, lng: -70.66, label: '칠레', region: 'america' },
|
|
|
|
|
+ // 아시아
|
|
|
JP: { lat: 35.7, lng: 139.7, label: '일본', region: 'asia', major: true },
|
|
JP: { lat: 35.7, lng: 139.7, label: '일본', region: 'asia', major: true },
|
|
|
CN: { lat: 31.2, lng: 121.5, label: '중국', region: 'asia', major: true },
|
|
CN: { lat: 31.2, lng: 121.5, label: '중국', region: 'asia', major: true },
|
|
|
HK: { lat: 22.3, lng: 114.2, label: '홍콩', region: 'asia', major: true },
|
|
HK: { lat: 22.3, lng: 114.2, label: '홍콩', region: 'asia', major: true },
|
|
|
TW: { lat: 25.0, lng: 121.6, label: '대만', region: 'asia', major: true },
|
|
TW: { lat: 25.0, lng: 121.6, label: '대만', region: 'asia', major: true },
|
|
|
IN: { lat: 19.1, lng: 72.9, label: '인도', region: 'asia', major: true },
|
|
IN: { lat: 19.1, lng: 72.9, label: '인도', region: 'asia', major: true },
|
|
|
AU: { lat: -33.9, lng: 151.2, label: '호주', region: 'asia', major: true },
|
|
AU: { lat: -33.9, lng: 151.2, label: '호주', region: 'asia', major: true },
|
|
|
- GB: { lat: 51.5, lng: -0.1, label: '영국', region: 'europe', major: true },
|
|
|
|
|
- DE: { lat: 50.1, lng: 8.7, label: '독일', region: 'europe', major: true },
|
|
|
|
|
- FR: { lat: 48.9, lng: 2.3, label: '프랑스', region: 'europe', major: true },
|
|
|
|
|
- IT: { lat: 45.46, lng: 9.19, label: '이탈리아', region: 'europe', major: true },
|
|
|
|
|
- CA: { lat: 43.7, lng: -79.4, label: '캐나다', region: 'america', major: true },
|
|
|
|
|
- MX: { lat: 19.43, lng: -99.13, label: '멕시코', region: 'america', major: true },
|
|
|
|
|
- BR: { lat: -23.5, lng: -46.6, label: '브라질', region: 'america', major: true },
|
|
|
|
|
- ZA: { lat: -26.20, lng: 28.05, label: '남아공', region: 'mideast', major: true },
|
|
|
|
|
- // 그 외(지역 탭에서 노출, 주요국 아님)
|
|
|
|
|
SG: { lat: 1.35, lng: 103.8, label: '싱가포르', region: 'asia' },
|
|
SG: { lat: 1.35, lng: 103.8, label: '싱가포르', region: 'asia' },
|
|
|
ID: { lat: -6.2, lng: 106.85, label: '인도네시아', region: 'asia' },
|
|
ID: { lat: -6.2, lng: 106.85, label: '인도네시아', region: 'asia' },
|
|
|
TH: { lat: 13.75, lng: 100.52, label: '태국', region: 'asia' },
|
|
TH: { lat: 13.75, lng: 100.52, label: '태국', region: 'asia' },
|
|
|
MY: { lat: 3.14, lng: 101.69, label: '말레이시아', region: 'asia' },
|
|
MY: { lat: 3.14, lng: 101.69, label: '말레이시아', region: 'asia' },
|
|
|
- VN: { lat: 10.82, lng: 106.63, label: '베트남', region: 'asia' },
|
|
|
|
|
|
|
+ PH: { lat: 14.6, lng: 120.98, label: '필리핀', region: 'asia' },
|
|
|
|
|
+ NZ: { lat: -41.29, lng: 174.78, label: '뉴질랜드', region: 'asia' },
|
|
|
|
|
+ // 유럽
|
|
|
|
|
+ GB: { lat: 51.5, lng: -0.1, label: '영국', region: 'europe', major: true },
|
|
|
|
|
+ DE: { lat: 50.1, lng: 8.7, label: '독일', region: 'europe', major: true },
|
|
|
|
|
+ FR: { lat: 48.9, lng: 2.3, label: '프랑스', region: 'europe', major: true },
|
|
|
|
|
+ IT: { lat: 45.46, lng: 9.19, label: '이탈리아', region: 'europe', major: true },
|
|
|
ES: { lat: 40.42, lng: -3.70, label: '스페인', region: 'europe' },
|
|
ES: { lat: 40.42, lng: -3.70, label: '스페인', region: 'europe' },
|
|
|
CH: { lat: 47.37, lng: 8.54, label: '스위스', region: 'europe' },
|
|
CH: { lat: 47.37, lng: 8.54, label: '스위스', region: 'europe' },
|
|
|
NL: { lat: 52.37, lng: 4.90, label: '네덜란드', region: 'europe' },
|
|
NL: { lat: 52.37, lng: 4.90, label: '네덜란드', region: 'europe' },
|
|
|
SE: { lat: 59.33, lng: 18.07, label: '스웨덴', region: 'europe' },
|
|
SE: { lat: 59.33, lng: 18.07, label: '스웨덴', region: 'europe' },
|
|
|
|
|
+ BE: { lat: 50.85, lng: 4.35, label: '벨기에', region: 'europe' },
|
|
|
|
|
+ AT: { lat: 48.2, lng: 16.37, label: '오스트리아', region: 'europe' },
|
|
|
|
|
+ DK: { lat: 55.68, lng: 12.57, label: '덴마크', region: 'europe' },
|
|
|
|
|
+ FI: { lat: 60.17, lng: 24.94, label: '핀란드', region: 'europe' },
|
|
|
|
|
+ PL: { lat: 52.23, lng: 21.01, label: '폴란드', region: 'europe' },
|
|
|
|
|
+ PT: { lat: 38.72, lng: -9.14, label: '포르투갈', region: 'europe' },
|
|
|
|
|
+ IE: { lat: 53.35, lng: -6.26, label: '아일랜드', region: 'europe' },
|
|
|
|
|
+ NO: { lat: 59.91, lng: 10.75, label: '노르웨이', region: 'europe' },
|
|
|
|
|
+ GR: { lat: 37.98, lng: 23.73, label: '그리스', region: 'europe' },
|
|
|
|
|
+ // 중동·아프리카
|
|
|
|
|
+ ZA: { lat: -26.20, lng: 28.05, label: '남아공', region: 'mideast', major: true },
|
|
|
SA: { lat: 24.71, lng: 46.68, label: '사우디', region: 'mideast' },
|
|
SA: { lat: 24.71, lng: 46.68, label: '사우디', region: 'mideast' },
|
|
|
- AE: { lat: 25.20, lng: 55.27, label: 'UAE', region: 'mideast' }
|
|
|
|
|
|
|
+ TR: { lat: 41.0, lng: 28.98, label: '튀르키예', region: 'mideast' },
|
|
|
|
|
+ EG: { lat: 30.04, lng: 31.24, label: '이집트', region: 'mideast' }
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
// ── 국가 → TradingView 대표지수 심볼 (드릴다운 차트). best-effort 매핑 ──
|
|
// ── 국가 → TradingView 대표지수 심볼 (드릴다운 차트). best-effort 매핑 ──
|