소개
Maps Static API는 URL을 통한 HTTP 요청에 응답하여 이미지 (GIF, PNG 또는 JPEG)를 반환합니다. 각 요청에 대해 지도의 위치, 이미지의 크기, 확대/축소 수준, 지도 유형, 지도상의 위치에 선택적 마커의 배치를 지정할 수 있습니다. 또한 영숫자 문자를 사용하여 마커에 레이블을 붙일 수 있습니다.
Maps Static API 이미지는 <img>
태그의 src
속성 내에 삽입되거나 다른 프로그래밍 언어의 이에 상응하는 속성 내에 삽입됩니다.
이 문서에서는 Maps Static API URL의 필수 형식과 사용 가능한 매개변수에 대해 설명합니다. 또한 URL을 지정하기 위한 몇 가지 유용한 정보도 제공합니다.
시작하기 전에
이 문서는 웹페이지 또는 모바일 애플리케이션 내에 Maps Static API 이미지를 포함하기를 원하는 웹사이트 및 모바일 개발자를 위한 것입니다. 이 문서에서는 API 사용 방법과 사용 가능한 매개변수에 대한 참조 자료를 소개합니다.
Maps Static API로 개발을 시작하기 전에 인증 요구사항 (API 키 필요) 및 API 사용 및 결제 정보 (프로젝트에서 결제를 사용 설정해야 함)를 검토하세요.
URL 매개변수
Maps Static API URL의 형식은 다음과 같아야 합니다.
https://maps.googleapis.com/maps/api/staticmap?parameters
웹사이트가 HTTPS를 통해 액세스되는 경우, 브라우저 보안 경고를 피하려면 Maps Static API 이미지도 HTTPS를 통해 로드해야 합니다. HTTPS는 사용자 위치와 같은 민감한 사용자 정보를 포함하는 요청에도 권장됩니다.
https://maps.googleapis.com/maps/api/staticmap?parameters
HTTP를 사용하든 HTTPS를 사용하든 간에, 일부 URL 매개변수는 필수인 반면 일부 매개변수는 선택 사항입니다. URL 표준 형식과 마찬가지로, 모든 매개변수는 앰퍼샌드 (&
) 문자를 사용하여 구분합니다. 매개변수와 가능한 값의 목록은 이 문서에 나와 있습니다.
Maps Static API는 다음 URL 매개변수를 사용하여 지도 이미지를 정의합니다.
위치 매개변수
center
(마커가 없는 경우 필수)는 지도의 모든 가장자리에서 동일한 거리에 있는 지도의 중심을 정의합니다. 이 매개변수는 쉼표로 구분된 {latitude,longitude} 쌍(예: '40.714728,-73.998672') 또는 지구상의 고유한 위치를 식별하는 문자열 주소 (예: 'city hall, new york, ny')로서 위치를 취합니다. 자세한 내용은 위치를 참고하세요.zoom
(마커가 없는 경우 필수) - 지도의 확대 수준을 결정하는 지도의 확대/축소 수준을 정의합니다. 이 매개변수는 원하는 지역의 확대/축소 수준에 해당하는 숫자값을 취합니다. 자세한 내용은 확대/축소 수준을 참고하세요.
지도 매개변수
size
(필수)은 지도 이미지의 직사각형 크기를 정의합니다. 이 매개변수는{horizontal_value}x{vertical_value}
형식의 문자열을 취합니다. 예를 들어500x400
는 가로 500픽셀, 세로 400픽셀인 지도를 정의합니다. 너비가 180픽셀 미만인 지도에서는 Google 로고가 축소되어 표시됩니다. 이 매개변수는scale
매개변수의 영향을 받습니다. 최종 출력 크기는 크기 값과 배율 값을 곱한 값입니다.scale
(선택사항)는 반환되는 픽셀 수에 영향을 미칩니다.scale=2
는 커버리지 영역과 상세 수준을 동일하게 유지하면서scale=1
보다 두 배 많은 픽셀을 반환합니다 (즉, 지도의 내용은 변경되지 않습니다). 이는 고해상도 디스플레이를 개발할 때 유용합니다. 기본값은1
입니다. 허용되는 값은1
및2
입니다. 자세한 내용은 배율 값을 참고하세요.format
(선택사항)는 결과 이미지의 형식을 정의합니다. 기본적으로 Maps Static API는 PNG 이미지를 생성합니다. GIF, JPEG, PNG를 비롯하여 여러 가지 가능한 형식이 있습니다. 어떤 형식을 사용할지는 이미지를 표시하는 방법에 따라 달라집니다. JPEG는 일반적으로 더 나은 압축을 제공하는 반면, GIF 및 PNG는 더 나은 상세 수준을 제공합니다. 자세한 내용은 이미지 형식을 참고하세요.maptype
(선택사항)는 구성할 지도의 유형을 정의합니다.roadmap
,satellite
,hybrid
,terrain
등 몇 가지 가능한 지도 유형 값이 있습니다. 자세한 내용은 Maps Static API Maptypes를 참고하세요.language
(선택사항)는 지도 타일에 레이블을 표시할 때 사용할 언어를 정의합니다. 이 매개변수는 일부 국가 타일에만 지원됩니다. 요청된 특정 언어가 타일 집합에서 지원되지 않는 경우 해당 타일 집합의 기본 언어가 사용됩니다.region
(선택사항)는 지정학적 민감도에 따라 표시할 적절한 국경선을 정의합니다. 두 문자 ccTLD('최상위 도메인') 값으로 지정된 지역 코드를 받아들입니다. 지원되는 지역은 Google Maps Platform 노출 범위 세부정보를 참고하세요.
특성 매개변수
map_id
(선택사항)는 특정 지도의 식별자를 지정합니다. 지도 ID는 지도를 특정 스타일 또는 지형지물과 연결하며, 지도를 초기화하는 데 사용된 API 키와 동일한 프로젝트에 속해야 합니다. 자세한 내용은 지도 ID 사용을 참고하세요.markers
(선택사항)은 이미지의 지정된 위치에 첨부할 마커를 하나 이상 정의합니다. 이 매개변수는 파이프 문자(|
)로 구분된 매개변수들이 있는 단일 마커 정의를 취합니다. 마커의 스타일이 동일하다면, 여러 개의 마커를 동일한markers
매개변수 내에 배치할 수 있으며,markers
매개변수를 더 추가하여 다른 스타일의 마커를 더 추가할 수도 있습니다. 참고로, 마커를 지도에 제공하는 경우에는 (일반적으로는 필수인)center
및zoom
매개변수를 지정할 필요가 없습니다. 자세한 내용은 Maps Static API 마커를 참고하세요.path
(선택사항)는 이미지를 지정된 위치에 오버레이하기 위해 둘 이상 연결 지점의 단일 경로를 정의합니다. 이 매개변수는 파이프 문자 (|
)로 구분된 지점 정의의 문자열 또는 경로의 위치 선언 내에enc:
접두사를 사용하여 인코딩된 폴리라인을 취합니다.path
매개변수를 추가하여 경로를 더 제공할 수도 있습니다. 참고로, 지도에 경로를 제공하는 경우에는 (일반적으로는 필수인)center
및zoom
매개변수를 지정할 필요가 없습니다. 자세한 내용은 Maps Static API 경로를 참고하세요.visible
(선택사항)는 지도상에 마커나 다른 표시기는 표시되지 않더라도 표시를 유지해야 하는 하나 이상의 위치를 지정합니다. 이 매개변수를 사용하면 특정한 지형지물이나 지도 위치가 Maps Static API에 표시되도록 보장합니다.style
(선택사항)는 지도상의 특정 지형지물 (도로, 공원 등)을 변경하여 표시하기 위해 사용자 지정 스타일을 정의합니다. 이 매개변수는 스타일을 지정할 지형지물을 식별하는feature
및element
인수와 선택한 지형지물에 적용할 스타일 연산 집합을 취합니다.style
매개변수를 추가하여 여러 스타일을 제공할 수 있습니다. 자세한 내용은 스타일 지정 지도 가이드를 참고하세요.
키 및 서명 매개변수
key
(필수)를 사용하면 Google Cloud 콘솔에서 애플리케이션의 API 사용량을 모니터링하고 필요한 경우 Google에서 애플리케이션에 대해 문의할 수 있습니다. 자세한 내용은 Maps Static API로 API 키 사용하기를 참고하세요.signature
(권장)은 API 키를 사용하여 요청을 생성하는 사이트에 그러한 권한이 있는지 확인하는 데 사용되는 디지털 서명입니다. 디지털 서명이 없는 요청은 실패할 수 있습니다. 자세한 내용은 디지털 서명 사용을 참고하세요.
URL 크기 제한
Maps Static API URL은 16,384자(영문 기준)로 제한됩니다. 많은 수의 마커와 경로가 포함된 복잡한 지도를 생성하지 않는다면, 실제로 URL이 이보다 더 길 필요는 없습니다.
매개변수 사용
Maps Static API는 매개변수화된 URL로만 구성되기 때문에 비교적 사용이 쉽습니다. 이 섹션에서는 이러한 매개변수를 사용하여 URL을 구성하는 방법을 설명합니다.
위치 지정
Maps Static API는 (center
매개변수를 사용하여) 정확한 위치에 지도의 초점을 맞추고, (markers
매개변수를 사용하여) 선택 항목인 장소 마크를 지도상의 위치에 배치하기 위해 지도상의 위치를 정밀하게 식별할 수 있어야 합니다. Maps Static API는 숫자 (위도 및 경도 값) 또는 문자열 (주소)을 사용하여 이러한 위치를 지정합니다. 이러한 값은 지오코딩된 위치를 식별합니다.
몇몇 매개변수 (예: markers
및 path
매개변수)는 여러 개의 위치를 취합니다. 이 경우 파이프 (|
) 문자로 위치를 구분합니다.
위도 및 경도
위도 및 경도는 쉼표로 구분된 텍스트 문자열 내에 숫자를 사용하여 정의되며, 소수점 6자리의 정밀도를 가집니다. 예를 들어 '40.714728,-73.998672'는 유효한 지오코드 값입니다. 소수점 6자리를 넘는 정밀도는 무시됩니다.
경도 값은 본초 자오선인 영국 그리니치를 기준으로 거리가 정해집니다. 그리니치는 위도 51.477222에 위치하므로, center
값에 51.477222,0
을 입력하여 지도 중심을 그리니치에 맞출 수 있습니다.
위도와 경도 값은 지표면의 올바른 위치와 일치해야 합니다. 위도는 -90
~90
사이의 값을 사용할 수 있으며, 경도는 -180
과 180
사이의 값을 사용할 수 있습니다. 위도 또는 경도 값을 잘못 지정하면 요청이 잘못된 요청으로 거부됩니다.
주소
대부분의 사람들은 위도와 경도를 사용하지 않고 addresses를 사용하여 위치를 표시합니다. 주소를 지리적 지점으로 변환하는 과정을 지오코딩이라고 하며, 사용자가 올바른 주소를 제공하면 Maps Static API 서비스가 지오코딩을 수행할 수 있습니다.
위도/경도가 제공될 수 있는 모든 매개변수에서는, 그 대신 주소를 나타내는 문자열을 지정할 수도 있습니다. Google은 주소를 지오코딩하며, 마커 배치나 위치 지정에 사용되는 위도/경도 값을 Maps Static API 서비스에 제공합니다. 문자열은 URL 인코딩되어야 하므로 예를 들어 'City Hall, New York, NY'와 같은 주소는 'City+Hall,New+York,NY'로 변환해야 합니다.
참고로, 주소는 정밀한 위치(예: 거리 주소), 폴리라인(예: 명명된 경로) 또는 폴리곤 영역(예: 도시, 국가 또는 국립 공원)을 나타낼 수도 있습니다. 폴리라인 및 폴리곤 결과의 경우 Maps Static API 서버는 선/영역의 중심점을 주소 중심으로 사용합니다. 주소를 지오코딩하는 방법이 확실하지 않으면 지오코딩 유틸리티를 사용하여 주소를 테스트해 볼 수 있습니다.
다음 예에서는 캘리포니아주 버클리에 대한 정적 지도 이미지를 생성합니다.
https://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
확대/축소 수준
Google 지도의 지도에는 현재 뷰의 해상도를 정의하는 정수로 된 '확대/축소 수준'이 있습니다. 기본 roadmap
뷰에서는 0
(가장 낮은 확대/축소 수준: 한 지도에서 전 세계를 볼 수 있음) ~ 21+
(거리와 개별 건물까지 볼 수 있음) 사이의 확대/축소 수준이 가능합니다. 확대/축소 수준 17
에서는 지도에 건물 윤곽선(있는 경우)이 나타납니다. 이 값은 지역마다 다르며, 데이터가 갱신되므로 시간이 지남에 따라 값이 변경될 수 있습니다.
Google 지도는 지구 전체가 들어가는 확대/축소 수준 0
을 설정합니다.
연속되는 각 확대/축소 수준은 수평 및 수직 치수에서 정밀도를 두 배로 늘려줍니다. 자세한 내용은 Google Maps JavaScript API 문서를 참고하세요.
참고: 지구상의 모든 위치에서 모든 확대/축소 수준이 나타나는 것은 아닙니다. 지구본의 일부 지역의 데이터가 다른 위치보다 더 세분화되기 때문에 확대/축소 수준은 위치에 따라 다릅니다.
지도 타일이 없는 확대/축소 수준에 대해 요청을 전송하면 Maps Static API는 빈 이미지를 대신 반환합니다.
다음 목록은 각 확대/축소 수준에서 기대할 수 있는 세밀한 정도를 보여줍니다.
- 1: 세계
- 5: 대륙
- 10: 도시
- 15: 거리
- 20: 건물
이 예에서는 center
값은 동일하지만 확대/축소 수준은 각각 12와 14인 맨해튼의 두 지도를 요청합니다.
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
이미지 크기
size
매개변수는 center
와 함께 사용되어 지도의 노출 영역을 정의합니다. 또한 scale
값 (기본값 1
)을 곱하면 지도의 출력 크기를 픽셀 단위로 정의합니다.
이 표는 각 scale
값에서 size
매개변수에 허용되는 최대 값을 보여줍니다.
scale=1 |
scale=2 |
---|---|
640x640 |
640x640 (1280x1280픽셀 반환) |
이 예에서는 확대/축소 수준 1에서 지구 적도의 '일부분'을 요청합니다.
https://maps.googleapis.com/maps/api/staticmap?center=0,0&zoom=1&size=400x50&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
이 예에서는 동일한 지역에 중심을 둔 100 x 100픽셀 크기의 작은 지도를 요청합니다. Google 로고가 더 작게 표시됩니다.
https://maps.googleapis.com/maps/api/staticmap?center=0,0&zoom=1&size=100x100&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
배율 값
Maps Static API의 size
매개변수는 지도의 크기를 픽셀 단위로 정의하므로, size=200x200
인 지도는 200픽셀 X 200픽셀로 반환됩니다. 일반적으로 인치당 픽셀 수가 약 100ppi인 LCD 컴퓨터 모니터에서, 200x200 지도는 각 치수 방향으로 약 2인치입니다.
하지만 픽셀 밀도가 300ppi 이상인 고해상도 화면을 탑재한 휴대기기가 증가하고 있으며, 이는 다음 중 하나에 해당합니다.
- 200x200픽셀 이미지의 크기를 1인치의 0.7배율로 줄이면 레이블과 아이콘이 읽을 수 없을 정도로 너무 작게 렌더링됩니다.
- 이미지의 크기를 조정 (확대/축소)하여 가독성을 개선합니다. 이렇게 하면 이미지가 흐리거나 모자이크 처리됩니다.
너무 작음 | 너무 흐림 |
---|---|
모바일 기기를 개발할 때 API의 scale
매개변수를 사용하면 더 고해상도의 지도 이미지를 반환할 수 있으므로 위의 문제가 해결됩니다. scale
값과 size
를 곱하여 이미지의 실제 출력 크기를 픽셀 단위로 결정할 수 있으며, 지도의 노출 영역을 변경할 필요가 없습니다. 기본 scale
값은 1입니다. 허용되는 값은 1과 2입니다.
예를 들어 배율 값을 2로 설정하면 배율이 지정되지 않은 요청과 동일한 지도 서비스 지역 영역이 반환되지만 각 치수의 픽셀 수는 2배가 됩니다. 여기에는 도로와 레이블이 포함되므로, 작은 크기의 고해상도 화면에서 뿐만 아니라 브라우저에서 배율 조정 시에도 가독성이 높아집니다.
150x150 | 150x150&scale=2 |
---|---|
이러한 이미지는 CSS를 사용하여 높이와 너비를 설정한 img
또는 div
태그에 삽입하면 데스크톱 브라우저에서도 잘 작동합니다. 브라우저는 품질을 떨어뜨리지 않고도 이미지를 적정 크기로 줄입니다.
이 표에는 세 가지의 다른 이미지 요청이 나와 있습니다.
- 첫 번째는 배율 값이 지정되지 않은 100x100 이미지 요청입니다. 데스크톱에서는 올바로 표시되지만, 모바일 기기에서 읽기에는 너무 작습니다.
- 두 번째는 지도 크기가 두 배로 늘어납니다. 데스크톱에서 CSS는 지도를 지정된 100x100
img
요소에 맞추지만, 이미지의 크기를 줄이면 도로와 레이블이 너무 작아집니다. 이미지의 크기는 모바일 기기에 적합하지만, 도로와 레이블의 가독성은 떨어집니다. - 세 번째 요청은
scale=2
인 100x100 지도 요청입니다. 이미지는 200px의 세부정보로 반환되며, 데스크톱에서는 이미지를 완벽하게 축소하여 원래의 100x100 요청과 구분할 수 없는 반면, 모바일 브라우저는 API에 의해 반환되는 추가 해상도의 이점을 얻습니다.
이미지 요청 | |||
---|---|---|---|
기기 | 100x100 |
200x200 |
100x100&scale=2 |
데스크톱 ( img 태그에height="100px" 및width="100px" 사용) |
|||
고해상도 (시뮬레이션됨) |
모바일 및 고해상도 디스플레이용 개발에 대한 자세한 내용은 다음 자료를 참고하세요.
- Android 개발자 문서의 여러 화면 지원을 참조하세요.
- 높은 DPI 웹사이트 개발을 위한 Webkit.org의 권장사항
- iOS 개발자 라이브러리의 고해상도 화면 지원
이미지 형식
이미지는 GIF, JPEG, PNG와 같은 여러 일반적인 웹 그래픽 형식으로 반환될 수 있습니다. format
매개변수는 다음 값 중 하나를 사용합니다.
png8
또는png
(기본값)은 8비트 PNG 형식을 지정합니다.png32
는 32비트 PNG 형식을 지정합니다.gif
는 GIF 형식을 지정합니다.jpg
는 JPEG 압축 형식을 지정합니다.jpg-baseline
는 비 프로그레시브 JPEG 압축 형식을 지정합니다.
다음 예에서는 gif
및 png
형식의 맵을 요청합니다.
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&format=gif&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&format=png&&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
jpg
및 jpg-baseline
는 일반적으로 가장 작은 이미지 크기를 제공하지만, 이를 위해 "손실이 있는" 압축을 수행하므로 이미지의 품질이 떨어질 수 있습니다. gif
, png8
, png32
는 무손실 압축을 제공합니다.
대부분의 JPEG 이미지는 프로그레시브입니다. 즉, 조기에 거친 이미지를 로드하고 더 많은 데이터가 도착하면 이미지 해상도를 개선합니다. 이렇게 하면 이미지를 웹페이지에 신속하게 로드할 수 있으며, 현재 JPEG의 가장 일반적인 용도입니다. 그러나 JPEG의 일부 용도에서는 비 프로그레시브 (baseline) 이미지가 필요합니다. 이러한 경우 비 프로그레시브 방식인 jpg-baseline
형식을 사용할 수 있습니다.
지도 유형
Maps Static API는 아래 나열된 것과 같은 여러 형식으로 지도를 생성합니다.
roadmap
(기본값)은 Google 지도 웹사이트에 일반적으로 표시되는 표준 로드맵 이미지를 지정합니다.maptype
값을 지정하지 않으면 Maps Static API에서 기본적으로roadmap
타일을 제공합니다.satellite
는 위성 이미지를 지정합니다.terrain
은 지형과 식생을 보여주는 실제적인 입체 지도 이미지를 지정합니다.hybrid
는 위성 이미지와 로드맵 이미지의 하이브리드를 지정하여, 위성 이미지 위에 주요 도로 및 장소 이름의 투명한 레이어를 표시합니다.
이 코드 예시에서는 도로지도 유형과 지형 유형의 차이점을 알 수 있습니다.
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=roadmap&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=terrain&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
혼합 지도는 위성 이미지와 주요 도로지도 지형지물을 조합하여 지도를 생성합니다. 다음 예는 위성 지도 유형과 하이브리드 지도 유형을 보여줍니다.
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=satellite&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=hybrid&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
스타일 지도
나만의 스타일을 적용하여 표준 Google 지도의 표현을 맞춤설정하세요. 스타일 지정 지도 가이드를 참고하세요.
마커
markers
매개변수는 위치 집합에서 하나 이상의 마커 (지도 핀) 집합을 정의합니다. 단일 markers
선언 내에 정의된 각 마커는 동일한 시각적 스타일을 나타내야 합니다. 다른 스타일로 마커를 표시하려면 별도의 스타일 정보를 가진 여러 markers
매개변수를 제공해야 합니다.
markers
매개변수는 다음과 같은 형식의 값 할당 집합(마커 설명자)을 취합니다.
markers=markerStyles|markerLocation1|
markerLocation2|...
등
markerStyles 집합은 markers
선언의 시작부에 선언되며, 파이프 문자 (|
)로 구분된 0개 이상의 스타일 설명자와 그 뒤에 역시 파이프 문자(|
)로 구분된 하나 이상의 위치 집합으로 구성됩니다.
스타일 정보와 위치 정보는 모두 파이프 문자를 통해 구분되기 때문에, 스타일 정보가 마커 설명자에서 먼저 나타나야 합니다. Maps Static API 서버가 마커 설명자에서 위치를 발견하면 다른 모든 마커 매개변수도 위치로 가정됩니다.
마커 스타일
마커 스타일 설명자 집합은 파이프 (|
) 문자로 구분된 일련의 값 할당입니다. 이 스타일 설명어는 이 마커 설명어 내에 마커를 표시할 때 사용할 시각적 속성을 정의합니다. 이러한 스타일 설명자에는 다음과 같은 키/값 할당이 포함됩니다.
size:
(선택사항)는{tiny, mid, small}
세트에서 마커의 크기를 지정합니다.size
매개변수가 설정되지 않은 경우 마커는 기본 (정상) 크기로 나타납니다.color:
(선택사항)는 24비트 색상(예:color=0xFFFFCC
) 또는{black, brown, green, purple, yellow, blue, gray, orange, red, white}
세트에서 사전 정의된 색상을 지정합니다.참고로, 투명도 (32비트 16진수 색상 값을 사용하여 지정)는 경로에서는 지원되지만 마커에서는 지원되지 않습니다.
label:
(선택사항)는 {A-Z, 0-9} 집합에서 단일 대문자 영숫자 문자를 지정합니다. (이 버전의 API에는 대문자 요구사항이 새로 추가되었습니다.) 참고로, 기본값 및mid
크기의 마커만alphanumeric-character
매개변수를 표시할 수 있습니다.tiny
및small
마커는 영숫자 문자를 표시할 수 없습니다.
마커 크기 조정
scale
값을 마커 이미지 크기와 곱하여 마커의 실제 출력 크기를 픽셀 단위로 생성합니다. 기본 크기 값은 1이며 허용되는 값은 1, 2, 4입니다.
이미지의 픽셀 크기 제한은 크기 조정이 적용된 후에 적용됩니다. 예를 들어
마커가 scale:2
로 설정된 경우 크기 조정 후 마커가 4,096픽셀 미만으로 축소되는 한
마커의 크기가 최대 크기인 4,096픽셀보다 클 수
있습니다. 고해상도 지도를 표시할 때는 지도 배율과 함께 마커 배율을 사용하세요.
마커 위치
각 마커 설명자에는 지도에 마커를 표시할 위치를 정의하는 하나 이상의 위치 집합이 포함되어야 합니다. 이러한 위치는 위도/경도 값 또는 addresses로 지정할 수 있습니다. 위치는 파이프 문자 (|
)를 사용하여 구분됩니다.
참고: 사람이 읽을 수 있는 주소 문자열이나 폴리라인과 같이 지오코딩이 필요한 메서드를 사용하여 마커 위치를 지정하는 경우 요청은 최대 15개의 마커로 제한됩니다. 이 한도는 지오코딩이 필요한 마커 위치에만 적용됩니다. 이 제한은 위도/경도 좌표로 지정된 마커 위치에는 적용되지 않습니다.
위치 매개변수는 지도에서 마커의 위치를 정의합니다. 위치가 지도 밖에 있는 경우 center
및 zoom
매개변수가 제공되면, 이 마커는 구성된 이미지에 나타나지 않습니다. 그러나 이러한 매개변수를 제공하지 않으면 Maps Static API 서버는 제공된 마커가 포함된 이미지를 자동으로 생성합니다.
(암시적 위치 지정을 참고하세요.)
샘플 마커 선언은 다음과 같습니다. 참고로, 우리는 한 세트의 스타일과 세 개의 위치를 정의합니다.
https://maps.googleapis.com/maps/api/staticmap?center=Williamsburg,Brooklyn,NY&zoom=13&size=400x400& markers=color:blue%7Clabel:S%7C11211%7C11206%7C11222&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
다른 스타일로 마커를 정의하기 위해 여러 markers
매개변수를 제공해야 합니다. 이 markers
매개변수 집합은 62.107733, -145.5419의 'S'라는 파란색 마커, 'Delta Junction, AK'의 작은 녹색 마커, 'Tok, AK'의 'C'라는 중간 크기의 노란색 마커 등 세 개의 마커를 정의합니다. 다음 예에서는 이러한 마커를 보여줍니다.
https://maps.googleapis.com/maps/api/staticmap?center=63.259591,-144.667969&zoom=6&size=400x400 &markers=color:blue%7Clabel:S%7C62.107733,-145.541936&markers=size:tiny%7Ccolor:green%7CDelta+Junction,AK &markers=size:mid%7Ccolor:0xFFFF00%7Clabel:C%7CTok,AK"&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
맞춤 아이콘
Google의 마커 아이콘을 사용하는 대신, 자체 사용자 지정 아이콘을 자유롭게 사용할 수 있습니다. 맞춤 아이콘은 markers
매개변수의 icon
설명자를 사용하여 지정됩니다. 예를 들면 다음과 같습니다.
markers=icon:URLofIcon|markerLocation
URL (URL 인코딩되어야 함)을 사용하여 icon
를 지정합니다. https://goo.gl
과 같은 URL 단축 서비스를 사용하여 만든 URL을 사용할 수 있습니다. 대부분의 URL 단축 서비스는 URL을 자동으로 인코딩하는 이점이 있습니다.
맞춤 아이콘의 앵커 포인트를 지정할 수 있습니다. 앵커 포인트는 지정된 markers
위치와 관련하여 아이콘이 배치되는 방식을 설정합니다. 기본적으로 맞춤 아이콘의 앵커 포인트는 아이콘 이미지의 하단 중앙입니다. icon
와 함께 anchor
설명자를 사용하여 다른 고정 점을 지정할 수 있습니다. anchor
를 아이콘의 x,y 지점 (예: 10,5
)으로 설정하거나 top
, bottom
, left
, right
, center
, topleft
, topright
, bottomleft
또는 bottomright
값 중 하나를 사용하여 사전 정의된 정렬로 설정합니다. 예를 들면 다음과 같습니다.
markers=anchor:bottomright|icon:URLofIcon|markerLocation1|markerLocation2
요청당 최대 5개의 고유한 맞춤 아이콘을 사용할 수 있습니다. 이 제한사항은 지도에 표시된 위치가 5개로 제한된다는 의미가 아닙니다. 각 고유 아이콘은 지도에서 두 개 이상의 markers
위치에 사용될 수 있습니다.
아이콘 형식:
- 아이콘 이미지는 PNG, JPEG 또는 GIF 형식을 사용할 수 있지만 PNG를 권장합니다.
- 아이콘 크기는 최대 4,096픽셀 (정사각형 이미지의 경우 64x64)까지 가능합니다.
맞춤 아이콘 예시
예 1에서는 맞춤 아이콘을 만들고 앵커를 사용하여 아이콘을 배치합니다.
https://maps.googleapis.com/maps/api/staticmap?&size=600x400&style=visibility:on &style=feature:water%7Celement:geometry%7Cvisibility:on &style=feature:landscape%7Celement:geometry%7Cvisibility:on &markers=anchor:32,10%7Cicon:https://goo.gl/5y3S82%7CCanberra+ACT &markers=anchor:topleft%7Cicon:http://tinyurl.com/jrhlvu6%7CMelbourne+VIC &markers=anchor:topright%7Cicon:https://goo.gl/1oTJ9Y%7CSydney+NSW&key=YOUR_API_KEY &signature=YOUR_SIGNATURE
예 2는 예 1과 동일한 맞춤 아이콘을 만들지만, 하단 중앙의 기본 앵커에 의존하여 앵커를 사용하여 아이콘 위치를 설정하지 않습니다.
https://maps.googleapis.com/maps/api/staticmap?&size=600x400&style=visibility:on &style=feature:water%7Celement:geometry%7Cvisibility:on &style=feature:landscape%7Celement:geometry%7Cvisibility:on &markers=icon:https://goo.gl/5y3S82%7CCanberra+ACT &markers=icon:http://tinyurl.com/jrhlvu6%7CMelbourne+VIC &markers=icon:https://goo.gl/1oTJ9Y%7CSydney+NSW&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Maps Static API 경로
path
매개변수는 경로를 통해 지도 이미지에서 오버레이에 연결되는 하나 이상의 위치를 정의합니다. path
매개변수는 다음과 같은 형식의 값 할당 집합 (경로 설명자)을 취합니다.
path=pathStyles|pathLocation1|pathLocation2|...
등
두 경로 지점은 파이프 문자 (|
)를 사용하여 서로 구분됩니다. 스타일 정보와 지점 정보는 모두 파이프 문자를 통해 구분되기 때문에, 스타일 정보가 경로 설명자에서 먼저 나타나야 합니다. Maps Static API 서버가 경로 설명자에서 위치를 만나면, 다른 모든 경로 매개변수도 위치로 간주됩니다.
경로 스타일
경로 스타일 설명자 집합은 파이프 (|
) 문자로 구분된 일련의 값 할당입니다. 이 스타일 설명자는 경로를 표시할 때 사용할 시각적 특성을 정의합니다. 이러한 스타일 설명자에는 다음과 같은 키/값 할당이 포함됩니다.
weight:
(선택사항)는 경로의 두께를 픽셀 단위로 지정합니다.weight
매개변수가 설정되지 않은 경우, 경로는 기본(정상) 두께(5픽셀)로 나타납니다.color:
(선택사항)는 24비트 (예:color=0xFFFFCC
) 또는 32비트 16진수 값(예:color=0xFFFFCCFF
)으로 색상을 지정하거나,{black, brown, green, purple, yellow, blue, gray, orange, red, white}
세트에서 색상을 지정합니다.32비트 16진수 값이 지정되는 경우, 마지막 두 문자는 8비트 알파 투명도 값을 지정합니다. 이 값은
00
(완전히 투명)과FF
(완전히 불투명) 사이에서 변합니다. 투명도는 경로에서는 지원되지만 마커에서는 지원되지 않습니다.fillcolor:
(선택사항)는 경로 표시가 폴리곤 영역을 벗어남을 나타내고, 또한 이 지역 내에 오버레이로 사용할 채우기 색을 지정합니다. 다음 위치 집합은 '닫힌' 루프일 필요가 없으며 Maps Static API 서버가 첫 번째 지점과 마지막 지점을 자동으로 연결합니다. 그러나 동일한 시작 및 끝 위치를 구체적으로 제공하지 않는다면 채워진 영역의 외부에 있는 모든 스트로크는 폐쇄되지 않을 것입니다.geodesic:
(선택사항)는 요청된 경로가 지구의 곡선을 따르는 최단 거리 선으로 해석되어야 함을 나타냅니다. false인 경우, 이 경로는 화면 공간에서 직선으로 렌더링됩니다. 기본값은 false입니다.
경로 정의의 예는 다음과 같습니다.
- 가는 파란색 선, 불투명도 50%:
path=color:0x0000ff80|weight:1
- 빨간색 실선:
path=color:0xff0000ff|weight:5
- 굵은 흰색 실선:
path=color:0xffffffff|weight:10
이들 경로 스타일은 선택 항목입니다. 기본 속성을 원하는 경우에는 경로 속성 정의 단계를 건너뛸 수 있습니다. 이 경우 경로 설명자의 첫 번째 '인수'는 첫 번째 선언된 지점 (위치)으로 구성됩니다.
경로 지점
경로를 그리려면 path
매개변수에 둘 이상의 지점을 전달해야 합니다. 그러면 Maps Static API는 지정된 순서대로 이들 지점을 따라 경로를 연결합니다. 각 pathPoint는 |
(파이프) 문자로 구분된 pathDescriptor에 표시됩니다.
다음 예에서는 뉴욕 유니언스퀘어에서 뉴욕 타임스퀘어까지 기본값 50% 의 불투명도로 파란색 경로를 정의합니다.
path
매개변수의 세부정보는 다음과 같습니다.
path=color:0x0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397
다음 예에서는 동일한 경로를 정의하며 그 대신 100% 의 불투명도로 빨간 실선을 정의합니다.
이 path
매개변수의 세부 사항은 다음과 같습니다.
path=color:0xff0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397
다음 예에서는 일련의 교차로를 위치로 통과한 맨해튼 내의 다각형 영역을 정의합니다.
이 path
매개변수의 세부 사항은 다음과 같습니다.
path=color:0x00000000|weight:5|fillcolor:0xFFFF0033|8th+Avenue+%26+34th+St,New+York,NY|\ 8th+Avenue+%26+42nd+St,New+York,NY|Park+Ave+%26+42nd+St,New+York,NY,NY|\ Park+Ave+%26+34th+St,New+York,NY,NY
경로 자체는 보이지 않도록 설정하고 다각형 영역의 불투명도를 15% 로 설정합니다.
인코딩된 폴리라인
일련의 위치 대신에, path
의 위치 선언 내에 enc:
접두사를 사용하여 경로를 인코딩된 폴리라인으로 선언할 수도 있습니다.
다음 예에서는 인코딩된 폴리라인을 사용하여 BC 도슨 크리크에서 AK 델타 정션까지의 알래스카 고속도로 코스를 나타냅니다.
https://maps.googleapis.com/maps/api/staticmap ?size=400x400¢er=59.900503,-135.478011&zoom=4 &path=weight:3%7Ccolor:orange%7Cenc:_fisIp~u%7CU%7D%7Ca@pytA_~b@hhCyhS~hResU%7C%7Cx@oig@rwg@amUfbjA%7Df%5BroaAynd@%7CvXxiAt%7BZwdUfbjAewYrqGchH~vXkqnAria@c_o@inc@k%7Bg@i%60%5Do%7CF%7DvXaj%5Ch%60%5Dovs@?yi_@rcAgtO%7Cj_AyaJren@nzQrst@zuYh%60%5Dv%7CGbldEuzd@%7C%7Cx@spD%7CtrAzwP%7Cd_@yiB~vXmlWhdPez%5C_%7BKm_%60@~re@ew%5ErcAeu_@zhyByjPrst@ttGren@aeNhoFemKrvdAuvVidPwbVr~j@or@f_z@ftHr%7BZlwBrvdAmtHrmT%7BrOt%7BZz%7DE%7Cc%7C@o%7CLpn~AgfRpxqBfoVz_iAocAhrVjr@rh~@jzKhjp@%60%60NrfQpcHrb%5Ek%7CDh_z@nwB%7Ckb@a%7BR%7Cyh@uyZ%7CllByuZpzw@wbd@rh~@%7C%7CFhqs@teTztrAupHhyY%7Dt%5Dhuf@e%7CFria@o%7DGfezAkdW%7C%7D%5BocMt_Neq@ren@e~Ika@pgE%7Ci%7CAfiQ%7C%60l@uoJrvdAgq@fppAsjGhg%60@%7ChQpg%7BAi_V%7C%7Cx@mkHhyYsdP%7CxeA~gF%7C%7D%5Bmv%60@t_NitSfjp@c%7DMhg%60@sbChyYq%7De@rwg@atFff%7D@ghN~zKybk@fl%7DA%7DcPftcAite@tmT__Lha@u~DrfQi%7DMhkSqyWivIumCria@ciO_tHifm@fl%7DA%7Brc@fbjAqvg@rrqAcjCf%7Ci@mqJtb%5Es%7C@fbjA%7BwDfs%60BmvEfqs@umWt_Nwn%5Epen@qiBr%60xAcvMr%7BZidg@dtjDkbM%7Cd_@ &key=YOUR_API_KEY&signature=YOUR_SIGNATURE
표준 경로와 마찬가지로, fillcolor
인수가 path
매개변수에 전달되면, 인코딩된 폴리라인 경로도 폴리곤 영역에 경계선을 나타낼 수 있습니다.
다음 예시에서는 뉴욕 브루클린에 대한 폴리곤 영역을 나타냅니다.
https://maps.googleapis.com/maps/api/staticmap ?size=400x400¢er=40.653279,-73.959816&zoom=11 &path=fillcolor:0xAA000033%7Ccolor:0xFFFFFF00%7Cenc:%7DzswFtikbMjJzZ%7CRdPfZ%7DDxWvBjWpF~IvJnEvBrMvIvUpGtQpFhOQdKpz%40bIx%7BA%7CPfYlvApz%40bl%40tcAdTpGpVwQtX%7Di%40%7CGen%40lCeAda%40bjA%60q%40v%7D%40rfAbjA%7CEwBpbAd_%40he%40hDbu%40uIzWcWtZoTdImTdIwu%40tDaOXw_%40fc%40st%40~VgQ%7C%5BuPzNtA%60LlEvHiYyLs%5EnPhCpG%7DSzCNwHpz%40cEvXg%40bWdG%60%5DlL~MdTmEnCwJ%5BiJhOae%40nCm%5B%60Aq%5DqE_pAaNiyBuDurAuB%7D%7DAy%60%40%7CEKv_%40%3F%7C%5BqGji%40lAhYyH%60%40Xiw%40tBerAs%40q%5DjHohAYkSmW%3FaNoaAbR%7DLnPqNtMtIbRyRuDef%40eT_z%40mW_Nm%7CB~j%40zC~hAyUyJ_U%7BZ%3F%3FcPvg%40%7Ds%40sHsc%40_z%40cj%40kp%40YePoNyYyb%40_iAyb%40gBw%5EbOokArcA%7DGwJuzBre%40i%5Ctf%40sZnd%40oElb%40hStW%7B%5Dvv%40%3F%3Fkz%40~vAcj%40zKa%60Atf%40uQj_Aee%40pU_UrcA &key=YOUR_API_KEY&signature=YOUR_SIGNATURE
뷰포트
이미지는 visible
매개변수로 표시되는 위치를 지정하여 표시 영역을 지정할 수 있습니다. visible
매개변수는
기존 위치가 계속 표시되도록 Maps Static API 서비스에
지도를 생성하도록 지시합니다. (이 매개변수는 기존 마커 또는 경로와 조합되어 표시 가능 지역을 정의할 수도 있습니다.) 이런 방식으로 뷰포트를 정의하면 정확한 확대/축소 수준을 지정할 필요가 없어집니다.
다음 예에서는 매사추세츠주 케임브리지의 MIT와 하버드 스퀘어가 모두 포함된 매사추세츠주 보스턴을 중심으로 한 지도를 요청합니다.
https://maps.googleapis.com/maps/api/staticmap?center=Boston,MA &visible=77+Massachusetts+Ave,Cambridge,MA%7CHarvard+Square,Cambridge,MA&size=512x512&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
지도의 암시적 위치 지정
일반적으로는, 생성된 지도의 위치 및 확대/축소 수준을 정의하려면 center
및 zoom
URL 매개변수를 지정해야 합니다.
그러나 markers
, path
또는 visible
매개변수를 제공하는 경우에는 Maps Static API가 이러한 요소의 위치 평가에 따라 올바른 중심과 확대/축소 수준을 암시적으로 결정하도록 할 수 있습니다.
둘 이상의 요소를 제공하는 경우에는 Maps Static API가 적절한 중심과 확대/축소 수준을 결정하고, 포함된 요소에 대해 충분한 여백을 제공합니다. 이 예에서는 캘리포니아의 샌프란시스코, 오클랜드, 새너제이를 포함하는 지도를 표시합니다.
https://maps.googleapis.com/maps/api/staticmap?size=512x512&maptype=roadmap\ &markers=size:mid%7Ccolor:red%7CSan+Francisco,CA%7COakland,CA%7CSan+Jose,CA&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
더 큰 이미지 크기
640x640픽셀 (또는 배율 값이 2인 1280x1280픽셀)보다 큰 이미지가 필요한 경우 지원팀에 문의하여 다음 정보를 제공하세요.
- 사용 사례 및 대형 이미지가 필요한 이유
- 다른 Google Maps Platform API(Maps JavaScript API, Maps Embed API, Android용 Maps SDK 또는 iOS용 Maps SDK)를 사용해 보았는지, 그리고 해당 API가 요구사항을 충족하지 못하는 이유를 설명해 주세요.
- 대형 이미지를 사용하는 방법을 보여주는 스크린샷, 모의 이미지 또는 샘플
- 대형 이미지의 예상 월별 사용량입니다.
Google에서는 제공된 정보를 바탕으로 요청을 검토하고 사용 사례가 Google Maps Platform 서비스 약관을 준수하는지 확인합니다.
제공할 수 있는 최대 크기는 2048 x 2048픽셀입니다.
문제 해결 및 지원
Maps Static API 사용에 관한 자세한 내용은 지원 페이지를 참고하세요.
Maps Static API는 문제가 발생할 때 오류 또는 경고를 발생시킬 수 있습니다. 특히 지도에서 무엇인가 누락된 것이 보인다면 경고를 확인해야 합니다. 또한 새 애플리케이션을 시작하기 전에 경고를 확인하는 것도 좋은 방법입니다. 참고로, 경고는 HTTP 헤더에 나타나기 때문에 즉시 명확하게 밝혀지지 않을 수 있습니다. 자세한 내용은 오류 및 경고 가이드를 참고하세요.