이 가이드에서는 웹페이지에 대화형 지도를 삽입하는 방법을 설명합니다.
Maps Embed API URL 만들기
다음은 Maps Embed API를 로드하는 URL의 예입니다.
https://www.google.com/maps/embed/v1/MAP_MODE?key=YOUR_API_KEY&PARAMETERS
다음과 같이 바꿉니다.
- MAP_MODE 지도 모드를 사용합니다.
- YOUR_API_KEY를 API 키로 바꿉니다. 자세한 내용은 API 키 가져오기를 참고하세요.
- PARAMETERS를 지도 모드의 필수 및 선택 매개변수로 바꿉니다.
iframe에 URL 추가
웹페이지에서 Maps Embed API를 사용하려면 빌드한 URL을 iframe의 src
속성 값으로 설정하세요. iframe의 height
및 width
속성을 사용하여 지도의 크기를 제어합니다. 예를 들면 다음과 같습니다.
<iframe
width="450"
height="250"
frameborder="0" style="border:0"
referrerpolicy="no-referrer-when-downgrade"
src="https://www.google.com/maps/embed/v1/MAP_MODE?key=YOUR_API_KEY&PARAMETERS"
allowfullscreen>
</iframe>
위의 iframe 샘플에서는 다음 추가 속성을 사용합니다.
- 특정 지도 부분이 전체 화면으로 전환되도록 허용하는
allowfullscreen
속성 frameborder="0"
및style="border:0"
속성을 사용하여 지도 주변의 표준 iframe 테두리를 삭제합니다.- 브라우저가 요청과 함께 전체 URL을
Referer
헤더로 전송하여 API 키 제한이 제대로 작동하도록 허용하는referrerpolicy="no-referrer-when-downgrade"
속성
자체 웹사이트의 구조와 디자인에 맞게 iframe의 크기를 조정할 수 있지만, 방문자는 일반적으로 큰 지도를 더 쉽게 이용할 수 있습니다. 삽입된 지도는 어느 쪽 치수든 200px 미만이면 지원되지 않습니다.
API 키 제한사항
호스팅 웹사이트의 referrer
메타 태그가 no-referrer
또는 same-origin
로 설정되어 있으면 브라우저가 Google에 Referer
헤더를 전송하지 않습니다. 이로 인해 API 키 제한에서 요청을 거부할 수 있습니다. 제한이 제대로 작동하려면 위의 예와 같이 iframe에 referrerpolicy
속성을 추가하여 Referer
헤더가 Google에 전송되도록 명시적으로 허용하세요.
지도 모드 선택
요청 URL에서 사용할 다음 지도 모드 중 하나를 지정할 수 있습니다.
place
: 랜드마크, 비즈니스, 지리적 특징, 도시 등 특정 장소 또는 주소에 지도 핀을 표시합니다.view
: 마커나 경로가 없는 지도를 반환합니다.directions
: 지도에서 지정된 두 개 이상의 지점 간 경로와 거리, 이동 시간을 표시합니다.streetview
: 지정된 위치의 대화형 파노라마 뷰를 표시합니다.search
: 표시된 지도 영역에서 검색한 결과를 표시합니다.
place
모드
다음 URL은 place
지도 모드를 사용하여 에펠탑에 지도 마커를 표시합니다.
https://www.google.com/maps/embed/v1/place
?key=YOUR_API_KEY
&q=Eiffel+Tower,Paris+France
다음 매개변수를 사용할 수 있습니다.
매개변수 | 유형 | 설명 | 허용되는 값 |
---|---|---|---|
q |
필수 | 지도 마커 위치를 정의합니다. | URL로 이스케이프된 장소 이름, 주소, Plus Code 또는 장소 ID입니다.
Maps Embed API는 공백을 이스케이프할 때 + 와 %20 를 모두 지원합니다. 예를 들어 'City Hall, New York, NY'을 City+Hall,New+York,NY 로 변환하거나, 플러스 코드 '849VCWC8+R9'을 849VCWC8%2BR9 로 변환합니다. |
center |
선택사항 | 지도 뷰의 중심을 정의합니다. | 쉼표로 구분된 위도 및 경도 값을 허용합니다. 예를 들면 37.4218,-122.0840 입니다. |
zoom |
선택사항 | 지도의 초기 확대/축소 수준을 설정합니다. | 0 (전 세계)부터 21 (개별 건물)까지의 값입니다. 상한은 선택한 위치에서 사용할 수 있는 지도 데이터에 따라 달라질 수 있습니다. |
maptype |
선택사항 | 로드할 지도 타일의 유형을 정의합니다. | roadmap (기본값) 또는 satellite |
language |
선택사항 | UI 요소와 지도 타일의 라벨 표시에 사용할 언어를 정의합니다. 기본적으로 방문자에게는 자신의 언어로 된 지도가 표시됩니다. 이 매개변수는 일부 국가 타일에서만 지원됩니다. 요청된 특정 언어가 타일 세트에서 지원되지 않으면 해당 타일 세트의 기본 언어가 사용됩니다. | |
region |
선택사항 | 지정학적 민감도에 따라 표시할 적절한 테두리와 라벨을 정의합니다. | 익숙한 ccTLD('최상위 도메인') 2자리 값에 매핑되는 2자리(숫자가 아님) 유니코드 지역 하위 태그로 지정된 지역 코드를 허용합니다. 지원되는 지역은 Google Maps Platform 노출 범위 세부정보를 참고하세요. |
view
모드
다음 예에서는 view
모드와 선택적 maptype
매개변수를 사용하여 지도의 위성 뷰를 표시합니다.
https://www.google.com/maps/embed/v1/view
?key=YOUR_API_KEY
¢er=-33.8569,151.2152
&zoom=18
&maptype=satellite
다음 매개변수를 사용할 수 있습니다.
매개변수 | 유형 | 설명 | 허용되는 값 |
---|---|---|---|
center |
필수 | 지도 뷰의 중심을 정의합니다. | 쉼표로 구분된 위도 및 경도 값을 허용합니다. 예를 들면 37.4218,-122.0840 입니다. |
zoom |
선택사항 | 지도의 초기 확대/축소 수준을 설정합니다. | 0 (전 세계)부터 21 (개별 건물)까지의 값입니다. 상한은 선택한 위치에서 사용할 수 있는 지도 데이터에 따라 달라질 수 있습니다. |
maptype |
선택사항 | 로드할 지도 타일의 유형을 정의합니다. | roadmap (기본값) 또는 satellite |
language |
선택사항 | UI 요소와 지도 타일의 라벨 표시에 사용할 언어를 정의합니다. 기본적으로 방문자에게는 자신의 언어로 된 지도가 표시됩니다. 이 매개변수는 일부 국가 타일에서만 지원됩니다. 요청된 특정 언어가 타일 세트에서 지원되지 않으면 해당 타일 세트의 기본 언어가 사용됩니다. | |
region |
선택사항 | 지정학적 민감도에 따라 표시할 적절한 테두리와 라벨을 정의합니다. | 익숙한 ccTLD('최상위 도메인') 2자리 값에 매핑되는 2자리(숫자가 아님) 유니코드 지역 하위 태그로 지정된 지역 코드를 허용합니다. 지원되는 지역은 Google Maps Platform 노출 범위 세부정보를 참고하세요. |
directions
모드
다음 예에서는 directions
모드를 사용하여 노르웨이 오슬로와 텔레마르크 사이의 경로, 거리, 통행료와 고속도로를 피한 이동 시간을 표시합니다.
https://www.google.com/maps/embed/v1/directions
?key=YOUR_API_KEY
&origin=Oslo+Norway
&destination=Telemark+Norway
&avoid=tolls|highways
다음 매개변수를 사용할 수 있습니다.
매개변수 | 유형 | 설명 | 허용되는 값 |
---|---|---|---|
origin |
필수 | 경로를 표시할 시작점을 정의합니다. | URL 이스케이프된 장소 이름, 주소, 플러스 코드, 위도/경도 좌표 또는 장소 ID입니다.
Maps Embed API는 공백을 이스케이프할 때 + 와 %20 를 모두 지원합니다. 예를 들어 'City Hall, New York, NY'을 City+Hall,New+York,NY 로 변환하거나, 플러스 코드 '849VCWC8+R9'을 849VCWC8%2BR9 로 변환합니다. |
destination |
필수 | 경로의 엔드포인트를 정의합니다. | URL 이스케이프된 장소 이름, 주소, 플러스 코드, 위도/경도 좌표 또는 장소 ID입니다.
Maps Embed API는 공백을 이스케이프할 때 + 와 %20 를 모두 지원합니다. 예를 들어 'City Hall, New York, NY'을 City+Hall,New+York,NY 로 변환하거나, 플러스 코드 '849VCWC8+R9'을 849VCWC8%2BR9 로 변환합니다. |
waypoints |
선택사항 | 출발지와 목적지 사이의 경로를 지정할 하나 이상의 중간 장소를 지정합니다. | 장소 이름, 주소 또는 장소 ID
파이프 문자 (|)를 사용하여 장소를 구분하면 여러 경유지를 지정할 수 있습니다 (예: Berlin,Germany|Paris,France ). 최대 20개의 경유지를 지정할 수 있습니다. |
mode |
선택사항 | 이동 수단을 정의합니다. 모드가 지정되지 않은 경우 Maps Embed API는 지정된 경로와 가장 관련성이 높은 모드를 하나 이상 표시합니다. | driving , walking (가능한 경우 보행자 경로와 인도를 선호), bicycling (가능한 경우 자전거 도로와 선호하는 도로를 사용하는 경로를 선호), transit 또는 flying |
avoid |
선택사항 | 경로에서 피해야 할 기능을 지정합니다. 이 기능은 제한된 기능을 포함하는 경로를 배제하지 않으며 결과를 더 유리한 경로로 편향시킵니다. | tolls , ferries 또는 highways
여러 값은 파이프 문자 (예: avoid=tolls|highways )로 구분합니다. |
units |
선택사항 | 결과에 거리를 표시할 때 측정 방법(미터법 또는 영국식 측정법)을 지정합니다. units 을 지정하지 않으면 쿼리의 origin 국가에 따라 사용할 단위가 결정됩니다. |
metric 또는 imperial |
center |
선택사항 | 지도 뷰의 중심을 정의합니다. | 쉼표로 구분된 위도 및 경도 값을 허용합니다. 예를 들면 37.4218,-122.0840 입니다. |
zoom |
선택사항 | 지도의 초기 확대/축소 수준을 설정합니다. | 0 (전 세계)부터 21 (개별 건물)까지의 값입니다. 상한은 선택한 위치에서 사용할 수 있는 지도 데이터에 따라 달라질 수 있습니다. |
maptype |
선택사항 | 로드할 지도 타일의 유형을 정의합니다. | roadmap (기본값) 또는 satellite |
language |
선택사항 | UI 요소와 지도 타일의 라벨 표시에 사용할 언어를 정의합니다. 기본적으로 방문자에게는 자신의 언어로 된 지도가 표시됩니다. 이 매개변수는 일부 국가 타일에서만 지원됩니다. 요청된 특정 언어가 타일 세트에서 지원되지 않으면 해당 타일 세트의 기본 언어가 사용됩니다. | |
region |
선택사항 | 지정학적 민감도에 따라 표시할 적절한 테두리와 라벨을 정의합니다. | 익숙한 ccTLD('최상위 도메인') 2자리 값에 매핑되는 2자리(숫자가 아님) 유니코드 지역 하위 태그로 지정된 지역 코드를 허용합니다. 지원되는 지역은 Google Maps Platform 노출 범위 세부정보를 참고하세요. |
streetview
모드
Maps Embed API를 사용하면 지원 지역 전반의 지정된 위치에서 스트리트 뷰 이미지를 대화형 파노라마로 표시할 수 있습니다. 사용자 제공 포토스피어와 스트리트 뷰 특별 컬렉션도 이용할 수 있습니다.
각 스트리트 뷰 파노라마는 단일 위치에서 완전한 360도 뷰를 제공합니다. 이미지에는 360도 가로 뷰 (완전한 래핑)와 180도 세로 뷰 (위에서 아래로 수직)가 포함됩니다. streetview
모드는 카메라를 중심에 두고 결과 파노라마를 구로 렌더링하는 뷰어를 제공합니다. 카메라를 조작하여 카메라의 확대/축소와 방향을 제어할 수 있습니다.
다음 streetview
모드 파노라마를 참고하세요.
https://www.google.com/maps/embed/v1/streetview
?key=YOUR_API_KEY
&location=46.414382,10.013988
&heading=210
&pitch=10
&fov=35
다음 URL 매개변수 중 하나가 필수입니다.
location
은 위도와 경도를 쉼표로 구분된 값 (46.414382,10.013988
)으로 허용합니다. API는 이 위치에서 가장 가까운 곳에서 촬영된 파노라마를 표시합니다. 스트리트 뷰 이미지는 주기적으로 새로고침되며 사진은 매번 약간 다른 위치에서 촬영될 수 있으므로 이미지가 업데이트되면 내 위치가 다른 파노라마로 스냅될 수 있습니다.pano
는 특정 파노라마 ID입니다.pano
를 지정하는 경우location
도 지정할 수 있습니다.location
는 API가 파노라마 ID를 찾을 수 없는 경우에만 사용됩니다.
선택적 URL 매개변수:
매개변수 | 유형 | 설명 | 허용되는 값 |
---|---|---|---|
heading |
선택사항 | 북쪽에서 시계 방향으로 카메라의 나침반 방향을 나타냅니다(단위: 도). | -180°~360°의 각도 값 |
pitch |
선택사항 | 카메라의 위 또는 아래 각도를 지정합니다. 양수 값은 카메라를 위로 올리고 음수 값은 카메라를 아래로 내립니다. 기본 기울기 0°는 이미지가 캡처될 때 카메라의 위치를 기반으로 설정됩니다. 이 때문에 피치가 0°인 경우가 많지만 항상 수평인 것은 아닙니다. 예를 들어 언덕에서 촬영한 이미지의 기본 피치는 수평이 아닐 가능성이 높습니다. | -90°~90°의 값(도) |
fov |
선택사항 | 이미지의 수평 시야를 결정합니다. 기본값은 90°입니다. 고정 크기 뷰포트를 처리할 때 시야각은 확대/축소 수준으로 간주할 수 있으며, 숫자가 작을수록 확대/축소 수준이 높습니다. | 도 단위 값(범위: 10~100도) |
center |
선택사항 | 지도 뷰의 중심을 정의합니다. | 쉼표로 구분된 위도 및 경도 값을 허용합니다. 예를 들면 37.4218,-122.0840 입니다. |
zoom |
선택사항 | 지도의 초기 확대/축소 수준을 설정합니다. | 0 (전 세계)부터 21 (개별 건물)까지의 값입니다. 상한은 선택한 위치에서 사용할 수 있는 지도 데이터에 따라 달라질 수 있습니다. |
maptype |
선택사항 | 로드할 지도 타일의 유형을 정의합니다. | roadmap (기본값) 또는 satellite |
language |
선택사항 | UI 요소와 지도 타일의 라벨 표시에 사용할 언어를 정의합니다. 기본적으로 방문자에게는 자신의 언어로 된 지도가 표시됩니다. 이 매개변수는 일부 국가 타일에서만 지원됩니다. 요청된 특정 언어가 타일 세트에서 지원되지 않으면 해당 타일 세트의 기본 언어가 사용됩니다. | |
region |
선택사항 | 지정학적 민감도에 따라 표시할 적절한 테두리와 라벨을 정의합니다. | 익숙한 ccTLD('최상위 도메인') 2자리 값에 매핑되는 2자리(숫자가 아님) 유니코드 지역 하위 태그로 지정된 지역 코드를 허용합니다. 지원되는 지역은 Google Maps Platform 노출 범위 세부정보를 참고하세요. |
search
모드
Search
모드는 표시된 지도 영역에서 검색한 결과를 표시합니다.
검색어에 위치를 포함하거나 (record+stores+in+Seattle
) 검색 범위를 제한하는 center
및 zoom
매개변수를 포함하여 검색 위치를 정의하는 것이 좋습니다.
https://www.google.com/maps/embed/v1/search
?key=YOUR_API_KEY
&q=record+stores+in+Seattle
다음 매개변수를 사용할 수 있습니다.
매개변수 | 유형 | 설명 | 허용되는 값 |
---|---|---|---|
q |
필수 | 검색어를 정의합니다. | in+Seattle 또는 near+98033 과 같은 지리적 제한이 포함될 수 있습니다. |
center |
선택사항 | 지도 뷰의 중심을 정의합니다. | 쉼표로 구분된 위도 및 경도 값을 허용합니다. 예를 들면 37.4218,-122.0840 입니다. |
zoom |
선택사항 | 지도의 초기 확대/축소 수준을 설정합니다. | 0 (전 세계)부터 21 (개별 건물)까지의 값입니다. 상한은 선택한 위치에서 사용할 수 있는 지도 데이터에 따라 달라질 수 있습니다. |
maptype |
선택사항 | 로드할 지도 타일의 유형을 정의합니다. | roadmap (기본값) 또는 satellite |
language |
선택사항 | UI 요소와 지도 타일의 라벨 표시에 사용할 언어를 정의합니다. 기본적으로 방문자에게는 자신의 언어로 된 지도가 표시됩니다. 이 매개변수는 일부 국가 타일에서만 지원됩니다. 요청된 특정 언어가 타일 세트에서 지원되지 않으면 해당 타일 세트의 기본 언어가 사용됩니다. | |
region |
선택사항 | 지정학적 민감도에 따라 표시할 적절한 테두리와 라벨을 정의합니다. | 익숙한 ccTLD('최상위 도메인') 2자리 값에 매핑되는 2자리(숫자가 아님) 유니코드 지역 하위 태그로 지정된 지역 코드를 허용합니다. 지원되는 지역은 Google Maps Platform 노출 범위 세부정보를 참고하세요. |
장소 ID 매개변수
Maps Embed API는 장소 이름이나 주소를 제공하는 대신 장소 ID를 사용하는 것을 지원합니다. 장소 ID는 장소를 고유하게 식별하는 안정적인 방법입니다. 자세한 내용은 Google Places API 문서를 참고하세요.
Maps Embed API는 다음 URL 매개변수에 대한 장소 ID를 허용합니다.
q
origin
destination
waypoints
장소 ID를 사용하려면 먼저 place_id:
접두사를 추가해야 합니다. 다음 코드는 뉴욕 시청을 경로 요청의 출발지로 지정합니다(origin=place_id:ChIJs--MqP1YwokRBwAhjXWIHn8
).
radius
는 지정된 위도와 경도를 중심으로 파노라마를 검색할 반경을 미터 단위로 설정합니다. 유효한 값은 음수가 아닌 정수입니다. 기본값은 50입니다.source
는 스트리트 뷰 검색을 선택한 출처로 제한합니다. 유효한 값은 다음과 같습니다.default
는 스트리트 뷰에 기본 출처를 사용합니다. 검색은 특정 출처로 제한되지 않습니다.outdoor
는 야외 모음으로 검색을 제한합니다. 실내 컬렉션은 검색 결과에 포함되지 않습니다. 지정된 위치에 야외 파노라마가 없을 수도 있습니다. 또한 검색에서는 실내인지 실외인지 확인할 수 있는 파노라마만 반환합니다. 예를 들어 포토스피어가 실내인지 실외인지 알 수 없으므로 포토스피어는 반환되지 않습니다.