Google Maps API 가격은 5년 동안 네 번이나 올랐어요. GDPR 준수는 머리 아프고, 한번 락인되면 빠져나오기도 힘들죠. 실제로 EU 개발자들이 갈아타고 있는 대안들을 소개할게요.
유럽 사용자 대상 위치 기능을 개발해봤다면 이 압박감을 느껴봤을 거예요. Google Maps API 비용은 월 $200 크레딧을 넘기는 순간 빠르게 불어나고, GDPR 준수를 위해서는 Maps JavaScript API가 Google의 미국 서버로 전송하는 IP 주소와 쿠키 데이터를 꼼꼼하게 관리해야 합니다. 그리고 한번 Google Maps 생태계에 발을 들이면 커스텀 스타일, 지오코딩 응답, 라우팅 형식이 모두 독점 포맷이라 갈아타려면 처음부터 다시 짜야 해요.
그래도 좋은 소식이 있어요. 대안들이 많이 성숙해졌거든요. 만드는 서비스에 따라 적합한 대안을 선택하면 비용을 의미있게 줄이고, 법적 부담을 단순화하고, 스택에 대한 통제권을 더 가져갈 수 있어요.
EU 개발자들이 갈아타려는 이유
가격
Google의 2018년 가격 개편으로 제대로 된 앱에서 무료 지도를 쓰는 시대는 끝났어요. 월 맵 로드 10만 건, 지오코딩 요청 5만 건, 경로 계산 2만 건 정도의 트래픽이면 Places API 호출 제외하고도 한 달에 약 $530이 나와요. 게다가 Google이 일방적으로 가격을 조정하기 때문에 예측도 안 되죠. 전체 비용 분석은 Google Maps API 가격 가이드를 참고하세요.
GDPR 마찰
지도가 로드될 때마다 Google Maps JavaScript API는 사용자 IP 주소와 브라우저 핑거프린트를 Google의 미국 서버로 보냅니다. GDPR 하에서 이 국가 간 데이터 전송에는 Google과의 표준 계약 조항(SCC) 체결이나, 사용자가 수락하기 전까지 지도를 차단하는 동의 배너가 필요해요. 둘 다 사용자 경험에 좋지 않죠. EU에 호스팅된 대안들을 쓰면 이 문제 자체가 없어져요.
벤더 락인
Google 스타일 위저드에서 만든 지도 스타일은 Google Maps에서만 작동해요. 지오코딩은 Google 독점 주소 형식을 사용하고, 경로 결과도 Google 스키마로 돌아와요. 다른 제공업체로 이전하면 모든 걸 처음부터 다시 만들어야 합니다.
주요 대안들
1. OpenStreetMap + Leaflet.js
적합한 경우: 간단한 사용 사례, 비용에 민감한 프로젝트, 스택을 직접 조립하는 데 익숙한 개발자.
Leaflet.js는 가장 널리 쓰이는 오픈소스 지도 라이브러리예요. OpenStreetMap 타일 데이터와 조합하면 요청당 비용 없이 완전히 동작하는 인터랙티브 지도를 만들 수 있어요.
import L from 'leaflet';
const map = L.map('map').setView([52.3676, 4.9041], 13);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© OpenStreetMap contributors'
}).addTo(map);
Leaflet은 지도 표시만 담당해요. 지오코딩, 라우팅, 검색은 별도 서비스가 필요합니다. 지오코딩은 Nominatim, 라우팅은 OSRM이나 Valhalla를 써야 하죠. 프로덕션에서는 OpenStreetMap 공개 타일 서버(속도 제한 있음, 상업적 사용 불가)를 그대로 쓰면 안 되기 때문에 직접 타일을 호스팅하거나 상업용 제공업체를 써야 해요.
비용: 라이브러리 자체는 무료. 상업용 타일 제공업체는 저사용량 기준 월 $0부터 시작.
GDPR: OpenStreetMap Foundation은 영국 기반. 미국 데이터 전송 없음. 깔끔해요.
한계: API를 소비하는 게 아니라 스택을 직접 조립하고 유지관리해야 해요.
2. MapLibre GL JS + 상업용 타일
적합한 경우: Mapbox 라이선스 제한 없이 벡터 타일 렌더링, 커스텀 스타일링, 3D 지도가 필요한 경우.
MapLibre GL JS는 Mapbox GL JS의 오픈소스 포크예요 (2021년 Mapbox가 라이선스를 변경한 이후 만들어졌어요). WebGL로 벡터 타일을 렌더링하고, 커스텀 스타일을 지원하며, 활발한 커뮤니티가 유지관리하고 있어요. 프로덕션에서는 Maptiler(스위스 회사)나 Stadia Maps 같은 EU 상업용 타일 제공업체와 함께 사용하세요.
import maplibregl from 'maplibre-gl';
const map = new maplibregl.Map({
container: 'map',
style: 'https://api.maptiler.com/maps/streets/style.json?key=YOUR_KEY',
center: [4.9041, 52.3676],
zoom: 12
});
비용: 라이브러리는 무료. Maptiler 타일은 프로덕션 기준 월 $25부터.
GDPR: Maptiler는 스위스 호스팅(EU 적정성 결정). 전송 이슈 없음.
한계: 지도 렌더링만 담당. 지오코딩과 라우팅은 별도 서비스 필요.
3. Maptiler
적합한 경우: EU 데이터 거주지를 갖춘 완전 호스팅 솔루션과 Google Maps 같은 개발자 경험을 원하는 팀.
Maptiler(스위스 회사)는 타일, 지오코딩, 라우팅, Maps SDK를 매니지드 서비스로 제공해요. 데이터는 스위스에 저장됩니다. Maps SDK가 Google Maps JavaScript API와 비슷한 패턴을 따르기 때문에 마이그레이션이 비교적 쉬워요.
비용: 월 $25부터. 지오코딩과 라우팅은 요청당 별도 청구.
GDPR: EU 적정성 결정이 있는 스위스 호스팅. 깔끔해요.
한계: Google이나 Mapbox에 비해 개발자 커뮤니티가 작고, 서드파티 통합도 적어요.
4. MapAtlas
적합한 경우: 요청당 청구 걱정 없이 지도, 지오코딩, 라우팅, AI 검색 노출이 모두 필요한 EU 개발자.
MapAtlas는 EU 개발자를 위해 특별히 설계되었고, 인프라가 EU에 호스팅되어 있어요. JavaScript SDK는 벡터 타일, 커스텀 스타일링, 지오코딩, 라우팅, 아이소크론을 포함한 핵심 지도 기능을 모두 커버합니다.
import MapAtlas from '@mapatlas/sdk';
const map = new MapAtlas.Map({
container: 'map',
center: [4.9041, 52.3676],
zoom: 12
});
// Geocoding
const result = await MapAtlas.geocode('Prinsengracht 263, Amsterdam');
// 15-minute walk isochrone
const zone = await MapAtlas.isochrone({
origin: [4.9041, 52.3676],
minutes: 15,
mode: 'walking'
});
지도 기능 외에도 MapAtlas는 비즈니스가 ChatGPT, Gemini, Perplexity에 추천될 수 있도록 도와주는 구조화된 위치 데이터 도구를 포함하고 있어요. 다른 지도 API에서는 다루지 않는 영역이죠. 왜 이게 점점 중요해지는지는 완전한 AEO 가이드를 보세요.
비용: 정액 요금제, 요청당 청구 없음. 요금제 보기.
GDPR: EU 호스팅. 미국 서버로 데이터 전송 없음. CLOUD Act 노출 없음.
비교 정리
| Google Maps | Leaflet + OSM | MapLibre + Maptiler | MapAtlas | |
|---|---|---|---|---|
| 가격 모델 | 요청당 과금 | 무료 + 인프라 | 계층형 | 정액제 |
| EU 데이터 거주지 | 없음 | 있음 | 있음 (스위스) | 있음 |
| 지오코딩 포함 | 있음 | 별도 | 별도 | 있음 |
| 라우팅 포함 | 있음 | 별도 | 별도 | 있음 |
| 벡터 타일 | 있음 | MapLibre 통해서 | 있음 | 있음 |
| GDPR 클린 | SCC 필요 | 있음 | 있음 | 있음 |
| AI 노출 도구 | 없음 | 없음 | 없음 | 있음 |
| 설정 복잡도 | 낮음 | 높음 | 중간 | 낮음 |
어떤 걸 선택해야 할까요?
비용이 최우선이고 트래픽이 낮은 경우: Leaflet + OpenStreetMap 공개 타일로 시작하세요. 사용량 한도에 걸리면 그때 상업용 제공업체로 이전하면 돼요.
벡터 타일 완전 제어와 커스텀 스타일링이 필요한 경우: MapLibre GL JS + Maptiler 타일 조합. EU 데이터 거주지를 유지하면서 최대한의 유연성을 가져갈 수 있어요.
Google Maps 경험에 가장 가까운 매니지드 서비스를 원하는 경우: Maptiler. 스위스/EU 호스팅 구조에서 가장 유사한 개발자 경험을 제공해요.
EU 로컬 검색 대상으로 개발하고 AI 노출이 중요한 경우: MapAtlas. 지도 인프라와 AI 어시스턴트가 비즈니스를 찾아 추천하는 방식을 동시에 다루는 유일한 옵션이에요.
EU 개발자들에게 Google이 당연한 선택이던 시대는 끝나가고 있어요. GDPR 마찰, 스케일에 따른 가격, 그리고 강력한 EU 네이티브 대안들의 등장이 판도를 바꿨습니다. 전환 비용은 현실적으로 존재하지만, 대부분의 프로젝트에서 한 번의 작업으로 몇 달치 청구 절감으로 돌아와요.
관련 글:

