

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Location Service Maps
<a name="maps"></a>

![\[Map icon leading to SDK package, then to multiple devices showing maps.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/maps-overview.png)


Amazon Location Service Maps를 사용하면 5백만 개의 일일 업데이트를 통해 190개 국가의 기본 맵 데이터에 액세스할 수 있습니다. 정적 및 동적 맵 기능은 다양한 사용자 요구 사항을 충족하고 몰입형이고 상황에 맞는 매핑 솔루션을 제공할 수 있는 유연성을 제공합니다.

## 맵 상품
<a name="maps-offering"></a>

Amazon Location Service는 동적 및 정적 맵을 제공합니다.

**동적 맵**  
표준, 모노크롬, 하이브리드 및 위성을 포함한 AWS 맵 스타일을 사용합니다. 맵 스타일 및 [MapLibre](https://maplibre.org/) 렌더링 엔진을 사용하여 대화형 AWS 맵을 애플리케이션에 추가합니다. 동적 맵은 확대/축소, 이동, 용이성, 플라이, 피치, 회전 및 베어링을 포함한 제스처를 지원합니다. 자세한 내용은 [동적 맵을 참조하세요](https://docs.aws.amazon.com/location/latest/developerguide/dynamic-maps.html).

**정적 맵**  
정적 맵 URLs 사용하여 맵 렌더링 엔진 없이 웹 사이트, 보고서 또는 이메일에 간단한 맵 이미지를 포함할 수 있습니다. 정적 맵은 애플리케이션의 마커(핀), 경로 및 다각형 영역을 포함한 오버레이를 지원합니다. 자세한 내용은 [정적 맵을 참조하세요](https://docs.aws.amazon.com/location/latest/developerguide/static-maps.html).

## 사전 구축된 맵 스타일
<a name="prebuilt-map-styles"></a>

AWS 맵 스타일은 인정받는 업계 규칙을 따르며 정교하고 전문적인 시각적 모습을 제공합니다. 이러한 미리 만들어진 스타일은 사용자 지정 카토그래피 설계 없이 개발을 가속화합니다. 최소한의 노력으로 매력적인 사용자 지원 맵을 구축합니다. 자세한 내용은 [AWS 맵 스타일을](https://docs.aws.amazon.com/location/latest/developerguide/map-styles.html) 참조하세요.

## 특성
<a name="maps-features"></a>

AWS 맵 기능은 전송, 물류 및 실시간 트래픽 데이터와 같은 지리적, [지형](https://docs.aws.amazon.com/location/latest/developerguide/maps-topographic-map.html)적 및 [탐색](https://docs.aws.amazon.com/location/latest/developerguide/maps-navigation-map.html)을 위한 향상된 시각화 옵션을 제공합니다. 특정 요구 사항에 맞는 유용한 컨텍스트 인식 맵 경험을 생성합니다. AWS 맵은 정치적 관점 및 언어를 포함한 [국제화 및 현지화를](https://docs.aws.amazon.com/location/latest/developerguide/maps-localization-internationalization.html) 지원합니다. 사용 사례에 적합한 POI(관심 지점) 및 [색상 체계를](https://docs.aws.amazon.com/location/latest/developerguide/maps-color-scheme.html) 선택합니다. 자세한 내용은 [맵 기능을](https://docs.aws.amazon.com/location/latest/developerguide/maps-concepts.html) 참조하세요.

## 일반 사용 사례
<a name="maps-usecases"></a>

**애플리케이션에 맵 임베드**  
애플리케이션에 맵을 빌드하여 위치 기반 경험을 생성합니다. 비즈니스 위치를 시각화하고, 관심 지점을 검색하고, 사용자가 특정 주소를 찾을 수 있도록 지원합니다. 원활한 위치 공유 및 지오태깅 기능을 활성화하여 고객의 참여를 유도합니다. 포괄적인 맵 데이터, 강력한 지오코딩 및 유연한 렌더링을 사용하여 필요에 맞는 사용자 지정 대화형 맵을 생성합니다. 디렉터리, 라이드 공유 앱 또는 소셜 플랫폼을 구축하든 관계없이 사용자 참여와 비즈니스 인사이트를 높이는 동적 고품질 매핑 환경을 애플리케이션에 통합합니다.

**보고 또는 인쇄를 위한 정적 맵**  
웹 사이트, 문서 및 애플리케이션에 거리 지도, 위성 이미지 및 위치 기반 시각적 객체의 이미지를 원활하게 추가합니다. 정적 맵을 사용하면 복잡한 클라이언트 측 렌더링 없이 지리적 컨텍스트를 제공하는 사용자 지정 가능한 맵 이미지를 생성할 수 있습니다. 영수증에 전송 경로를 표시하거나, 문서에 위치 세부 정보를 포함하거나, 지도를 디지털 경험에 통합합니다.

**데이터 분석 및 시각화**  
고품질 맵에 데이터를 오버레이하여 혁신적인 공간 패턴과 추세를 파악합니다. 팀이 지리적 데이터를 사용하여 사용자 지정 가능한 대화형 맵 시각화를 생성할 수 있도록 지원합니다. 맵과 데이터를 사용하여 사이트 선택을 최적화하거나 인프라를 계획하거나 시장 기회를 분석할 수 있습니다.

**부동산 경험 향상**  
예비 구매자에게 부동산 목록에 대한 포괄적인 위치 컨텍스트를 제공합니다. 속성의 정확한 위치와 관할 구역 경계, 현지 사업체, 공원 및 학교와 같은 주변 지역 세부 정보를 표시합니다. 고객이 오픈 하우스에 대한 지침을 찾을 수 있도록 도와줍니다. 고객의 참여를 유도하고 고객에게 알리는 정보 제공, 위치 중심의 부동산 경험을 만듭니다.

**매력적인 여행 경험 구축**  
세부 거리 보기 및 주요 지리적 기능과 함께 대상을 보여주는 동적 맵을 표시합니다. 호텔, 레스토랑 및 기타 관광 명소를 하이라이트합니다. 하이킹 트레일과 같은 야외 편의 시설을 도표화하여 사용자가 이상적인 여정을 계획하는 데 도움을 줍니다.

**맵을 사용하여 재해 대응 노력 지원**  
위험 발생 시 시기 적절하고 정확한 위치 정보가 중요합니다. 매핑 기능을 사용하여 화재, 허리케인, 홍수와 같은 재해 발생 시 커뮤니티에 필수적인 컨텍스트를 제공하는 웹 사이트와 애플리케이션을 구축합니다. 대피 경로, 안전한 대피소, 도로 폐쇄 및 교통 혼잡을 보여주는 동적 맵을 표시하여 커뮤니티가 상황을 신속하게 평가하고 정보에 입각한 결정을 내릴 수 있도록 지원합니다.

## 독립형 Maps API
<a name="maps-apis"></a>


|  API 이름  |  간략한 설명  |  리소스  | 
| --- | --- | --- | 
|  GetStyleDescriptor  |  맵에 적용할 수 있는 표준, 모노크롬, 하이브리드 및 위성과 같은 사용 가능한 맵 스타일을 검색합니다.  |  [AWS 맵 스타일 및 기능](map-styles.md)  | 
|  GetTile  |  지정된 스타일 및 확대/축소 수준을 기반으로 개별 맵 타일을 가져와 다양한 세부 수준에서 맵을 렌더링할 수 있습니다.  |  [타일](tiles.md)  | 
|  GetStaticMap  |  보고서 또는 이메일에 맵을 임베딩하는 데 유용한 특정 좌표 및 파라미터를 기반으로 정적 맵 이미지를 생성합니다.  |  [정적 맵](static-maps.md)  | 

## 맵 표시
<a name="maps-display"></a>


|  Topic  |  간략한 설명  |  리소스  | 
| --- | --- | --- | 
|  동적 맵 스타일 지정  |  Amazon Location Service는 미리 설계된 맵 AWS 스타일을 사용하여 동적 맵을 스타일링하고 스타일 설명자를 사용하여 맵 스타일을 사용자 지정하는 두 가지 옵션을 제공합니다.  | [동적 맵 스타일 지정](styling-dynamic-maps.md) [표준 맵 스타일](standard-map-style.md) [모노크롬 맵 스타일](monochrome-map-style.md) [하이브리드 맵 스타일](hybrid-map-style.md) | 
|  동적 맵 렌더링  |  Amazon Location Service는 [MapLibre](https://github.com/maplibre/maplibre-gl-js) 렌더링 엔진을 사용하여 맵을 렌더링할 것을 권장합니다. MapLibre는 웹 또는 모바일 애플리케이션에 맵을 표시하는 엔진입니다.  |  [언어별 맵 렌더링 SDK](map-rendering-by-language.md)  | 
|  정적 맵 사용자 지정  |  Amazon Location Service를 사용하여 생성된 정적 맵을 사용자 지정하는 방법입니다.  |  [정적 맵 사용자 지정](customizing-static-maps.md)  | 
|  정적 맵 오버레이  |  정적 맵을 오버레이하여 맵의 시각적 표현을 개선합니다.  |  [정적 맵의 오버레이](overlaying-static-map.md)  | 

# 맵 개념
<a name="maps-concepts"></a>

Amazon Location Service는 애플리케이션에 대한 시각적으로 일관된 사용자 지정 맵을 생성할 수 있는 포괄적인 매핑 기능을 제공합니다. AWS 맵 스타일과 디자인 원칙을 활용하여 맵의 모양과 느낌을 사용자 지정하여 시각적 일관성과 브랜딩을 보장할 수 있습니다.

`ap-southeast-1` 및의 고객의 경우 `ap-southeast-5`지원되는 요청 및 응답 필드가 다를 수 있습니다. 자세한 내용은 [Maps API 참조](https://docs.aws.amazon.com/location/latest/APIReference/API_Operations_Amazon_Location_Service_Maps_V2.html)를 참조하세요.

이 주제에서는 용어, 현지화, 국제화 및 맵 기능을 비롯한 필수 매핑 개념을 다룹니다.

## 특성
<a name="maps-concepts-features"></a>

Amazon Location Service를 사용하면 고급 스타일 기능으로 맵을 사용자 지정할 수 있습니다. 지형 및 윤곽 밀도와 같은 지형 요소와 트래픽 및 이동 모드(트럭 또는 전송)와 같은 경로 관련 기능을 추가합니다. 이러한 사용자 지정 옵션을 사용하면 물류, 운송 또는 야외 지형 시각화를 비롯한 특정 사용 사례에 맞게 맵 모양을 조정할 수 있습니다.


| 기능 이름 | 설명 | 지원되는 값 | 지원되는 맵 스타일 | 
| --- | --- | --- | --- | 
| 색상 체계 | 맵의 색상 체계 설정 | Light 및 Dark | Standard, Monochrome, Hybrid, Satellite | 
| Terrain | 지형 언덕 표시 | Hillshade 및 Terrain3D | Standard, Monochrome, Hybrid (Terrain3D), Satellite (Terrain3D) | 
| ContourDensity | 지형 고도 선 표시 | Low, Medium, High | Standard, Monochrome, Hybrid | 
| Traffic | 실시간 트래픽 조건 표시 | All, Congestion | Standard, Monochrome, Hybrid | 
| 건물 | 3차원 건물 구조 표시 | Buildings3D | Standard, Monochrome | 
| TravelModes | 이동 모드에 대한 맵 스타일 최적화 | Transit 및 Truck | Standard, Monochrome, Hybrid | 
| 언어 | 로컬 언어 설정 | BCP47 언어 코드(예: en-US, es-ES, fr-CH) | Standard, Monochrome, Hybrid | 
| PoliticalView | 특정 국가의 맞춤형 지정학적 뷰 | 아르헨티나, 키프로스, 이집트, 그루지야, 그리스, 케냐, 모로코, 팔레스타인, 세르비아, 러시아, 수단, 수리남, 시리아, 튀르키예, 탄자니아, 우루과이 | Standard, Monochrome, Hybrid | 

표준, 모노크롬 및 하이브리드 스타일에 대한 자세한 내용은 [Amazon Location Service 맵 스타일을](https://docs.aws.amazon.com/location/latest/developerguide/map-styles.html) 참조하세요.

**Topics**
+ [특성](#maps-concepts-features)
+ [맵 용어](maps-terminology.md)
+ [색상 체계](maps-color-scheme.md)
+ [지형](maps-topographic-map.md)
+ [탐색](maps-navigation-map.md)
+ [현지화 및 국제화](maps-localization-internationalization.md)
+ [3D 기능](maps-3d-map.md)

# 맵 용어
<a name="maps-terminology"></a>

이러한 주요 용어를 이해하면 Amazon Location Service 매핑 APIs 및 리소스를 효과적으로 사용하는 데 도움이 됩니다.

**베이스맵**  
베이스맵은 벡터 타일 레이어로 저장되는 지리적 컨텍스트를 맵에 제공합니다. 이러한 타일 레이어에는 시각적 참조를 위해 도로 이름, 건물, 토지 이용과 같은 지리적 특성이 포함됩니다.

**벡터**  
벡터 데이터는 점, 선 및 다각형으로 구성되며 맵의 도로, 위치 및 영역을 나타내는 데 사용됩니다. 벡터 모양은 맵의 마커 아이콘으로도 사용할 수 있습니다.

**래스터**  
래스터 데이터는 일반적으로 지형, 위성 이미지 또는 히트 맵과 같은 연속 데이터를 나타내는 그리드로 구성된 이미지 데이터입니다. 래스터 이미지는 맵에서 아이콘 또는 텍스처로도 사용할 수 있습니다.

**맵 렌더링**  
맵 렌더링 라이브러리는 실행 시 Amazon Location Service에서 데이터를 가져와서 선택한 맵 리소스를 기반으로 맵을 렌더링합니다. 맵 리소스는 데이터 공급자와 맵 스타일을 정의합니다. Amazon Location Service에는 [MapLibre](https://maplibre.org/) 렌더링 엔진이 필요합니다.

**벡터 타일**  
벡터 타일은 벡터 셰이프를 사용하여 맵 데이터를 저장합니다. 해상도를 표시하도록 조정하고 최적의 성능을 위해 작은 파일 크기를 유지하면서 기능을 선택적으로 렌더링합니다. 지원되는 형식:[ Mapbox Vector Tiles(MVT)](https://docs.mapbox.com/data/tilesets/guides/vector-tiles-standards/)

**맵 스타일**  
맵 스타일은 맵 데이터에 대한 색상 및 기타 스타일 정보를 정의하여 렌더링 시 맵이 어떻게 나타나는지 결정합니다. Amazon Location Service는 Mapbox GL 스타일 사양에 따라 맵 스타일을 제공합니다.

**글리프 파일**  
맵 렌더러가 레이블을 표시하는 데 사용하는 인코딩된 유니코드 문자가 포함된 이진 파일입니다.

**스프라이트 파일**  
JSON 파일에 작은 래스터 이미지와 해당 위치 설명을 포함하는 PNG(이동식 네트워크 그래픽) 이미지 파일입니다. 맵 렌더러가 맵에 아이콘이나 텍스처를 표시하는 데 사용됩니다.

**경계 상자**  
경계 상자는 북서부(NW)(왼쪽 상단) 및 남동부(SE)(오른쪽 하단) 지점이라는 두 개의 대각선 모서리 지점으로 정의됩니다. 이러한 점은 맵의 공간 범위를 지정합니다.

# 색상 체계
<a name="maps-color-scheme"></a>

Amazon Location Service를 사용하면 맵의 색상 체계를 설정할 수 있습니다. 색상 체계 파라미터는 애플리케이션의 설계 및 접근성 요구 사항에 `Dark`더 잘 맞게 `Light` 또는와 같은 맵의 색상 팔레트를 설정합니다.

## 밝은 색상 체계와 어두운 색상 체계
<a name="maps-color-scheme-light-dark"></a>

`Light` 모드는 다재다능하며 모든 컨텍스트에 맞으며, `Dark` 모드에는 세부 정보를 명확하게 표시하고 어두운 환경에서 가독성을 유지하도록 설계된 제한된 팔레트가 있습니다.

------
#### [ Standard ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/color-scheme-standard.png)


------
#### [ Monochrome ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/color-scheme-monochrome.png)


------
#### [ Hybrid ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/color-scheme-hybrid.png)


------
#### [ Satellite ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/color-scheme-satellite.png)


------

# 지형
<a name="maps-topographic-map"></a>

지형 및 윤곽선과 같은 지형 기능은 고도 변경 사항과 지리적 특성을 표시합니다. 이를 통해 사용자는 매핑된 영역의 물리적 풍경과 지형 특성을 더 잘 이해할 수 있습니다.

## Terrain
<a name="maps-topographic-terrain"></a>

지형 기능은 고도 변화와 자연 지형을 나타내는 고도 셰이딩과 함께 지구 표면을 표시합니다. 이를 통해 사용자는 매핑된 리전 내에서 풍경의 모양과 구조를 해석할 수 있습니다.

API 요청에서 `terrain` 파라미터를 사용하여 고도 셰이딩이 있는 리전 토포그래피를 표시합니다. 이 기능은 고도 및 지리적 특성의 변화를 강조하여 사용자가 물리적 환경을 더 잘 시각화할 수 있도록 도와줍니다. [토포그래피 맵을 생성하는 방법을 참조하세요](https://docs.aws.amazon.com/location/latest/developerguide/how-to-create-topographic-maps.html).

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-topographic-terrain.gif)


## 3D 지형
<a name="maps-topographic-3d-terrain"></a>

3D 지형 기능은 지구 표면의 고도 데이터를 3차원 표면으로 렌더링하므로 사용자가 여러 각도와 관점에서 풍경을 볼 수 있습니다. 시야각을 제어하면 사용자는 깊이 지각을 더 쉽게 얻고 매핑된 영역에서 지형 복잡성, 경사 및 상대 높이를 평가할 수 있습니다.

API 요청에서 `terrain` 파라미터를 사용하여 3차원 지형 시각화를 활성화합니다. 이 기능은 지형 특성에 대한 몰입형 관점을 제공하므로 산성 또는 다양한 지형에서 공간 관계를 이해하는 데 특히 유용합니다.

향상된 고도 정밀도와 시각적 컨텍스트를 위해 API 요청에서 3D 지형을 `contour-density` 파라미터와 결합합니다. [3D 맵 생성을 참조하세요](https://docs.aws.amazon.com/location/latest/developerguide/how-to-create-a-3d-map.html).

------
#### [ Satellite ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/zoom-hybrid-3d-terrain.gif)


------
#### [ Standard ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/zoom-3d-terrain.gif)


------

## 윤곽 밀도
<a name="maps-topographic-contour-density"></a>

윤곽 밀도 기능은 윤곽선을 시각화하여 지형 가파른 정도와 고도 편차를 나타냅니다. 사용자는 이를 통해 기울기, 고도 그라데이션 및 기타 지형 패턴을 쉽게 식별할 수 있습니다.

API 요청에서 `contour-density` 파라미터를 사용하여 지형 가파른 정도와 형태를 나타내는 지형 고도 윤곽선을 렌더링합니다. 이를 통해 다양한 밀도 수준에서 지형을 세부적으로 시각화하여 지형에 대한 이해를 높일 수 있습니다. [토포그래피 맵을 생성하는 방법을 참조하세요](https://docs.aws.amazon.com/location/latest/developerguide/how-to-create-topographic-maps.html).

------
#### [ Low ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/zoom-contours-low.gif)


------
#### [ Medium ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/zoom-contours-medium.gif)


------
#### [ High ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/zoom-contours-high.gif)


------

# 탐색
<a name="maps-navigation-map"></a>

`Traffic` 및와 같은 탐색 기능은 탐색 및 라우팅 계획을 개선하는 동적 시각화 도구를 `Truck TravelModes` 제공합니다. 이를 통해 사용자는 실시간 도로 상태를 이해하고 운송 요구 사항에 따라 가장 효율적인 여행 옵션을 선택할 수 있습니다.

## Traffic
<a name="maps-navigation-traffic"></a>

트래픽 계층은 도로 혼잡, 건설 영역 및 보고된 인시던트를 비롯한 교통 상황을 실시간으로 시각화합니다. 이 기능은 사용자가 정보에 입각한 라우팅 결정을 내리고 현재 도로 상태에 따라 이동 효율성을 최적화하는 데 도움이 됩니다.

API 요청에서 `traffic` 파라미터를 사용하여 실시간 트래픽 정보를 표시합니다. 여기에는 도로 정체, 건설 영역 및 인시던트에 대한 데이터가 포함되어 사용자가 정보에 입각하고 효율적인 라우팅 결정을 내리는 데 도움이 됩니다. [맵에 실시간 트래픽을 표시하는 방법을](https://docs.aws.amazon.com/location/latest/developerguide/how-to-set-real-time-traffic-map.html) 알아봅니다.

------
#### [ All ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/zoom-traffic-all.gif)


------
#### [ Congestion ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/zoom-traffic-congestion.gif)


------

## 이동 모드
<a name="maps-navigation-travel-modes"></a>

이동 모드 기능을 사용하면 다양한 운송 방법을 시각화하고 선택할 수 있습니다. 도로 제한 및 규정을 고려하는 대중교통, 트럭 또는 기타 특수 탐색 유형과 같은 다양한 모드에 대한 라우팅 정보를 지원합니다. 이를 통해 사용자는 특정 이동 모드에 최적화된 경로를 계획할 수 있습니다.

API 요청에서 `travel-modes` 파라미터를 사용하여 운송별 라우팅 데이터를 표시합니다. [맵에 전송 세부 정보를 표시하는 방법과](https://docs.aws.amazon.com/location/latest/developerguide/how-to-show-transit-details-map.html) [물류 맵을 생성하는 방법을](https://docs.aws.amazon.com/location/latest/developerguide/how-to-create-logistic-map.html) 알아봅니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-travel-modes-transit.gif)


![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-travel-modes-truck.gif)


# 현지화 및 국제화
<a name="maps-localization-internationalization"></a>

Amazon Location Service는 특정 언어 및 리전에 맞게 맵을 사용자 지정할 수 있는 현지화 기능을 지원합니다. 여기에는 로컬 장소 이름에 대한 지원과 다양한 언어로 맵을 렌더링할 수 있는 기능이 포함됩니다.


| 스타일 | 정치적 관점 | 언어 | 
| --- | --- | --- | 
| 표준 | 아르헨티나, 키프로스, 이집트, 그루지야, 그리스, 케냐, 모로코, 팔레스타인, 세르비아, 러시아, 수단, 수리남, 시리아, 튀르키예, 탄자니아, 우루과이 | 클라이언트 측 라이브러리를 통해 지원됨 | 
| 모노크롬 | 아르헨티나, 키프로스, 이집트, 그루지야, 그리스, 케냐, 모로코, 팔레스타인, 세르비아, 러시아, 수단, 수리남, 시리아, 튀르키예, 탄자니아, 우루과이 | 클라이언트 측 라이브러리를 통해 지원됨 | 
| 하이브리드 | 아르헨티나, 키프로스, 이집트, 그루지야, 그리스, 케냐, 모로코, 팔레스타인, 세르비아, 러시아, 수단, 수리남, 시리아, 튀르키예, 탄자니아, 우루과이 | 클라이언트 측 라이브러리를 통해 지원됨 | 
| 위성 | 지원되지 않음 | 지원되지 않음 | 

## 언어
<a name="maps-languages"></a>

Amazon Location Service는 맵 레이블 및 텍스트 요소의 언어를 사용자 지정할 수 있는 맵 APIs를 제공합니다. 이 기능은 애플리케이션이 다국어를 사용하는 글로벌 대상 또는 리전에 맞게 케이터링하는 데 도움이 됩니다. 맵을 사용자가 선호하는 언어로 표시하면 전체 사용자 경험을 개선하여 맵에 더 쉽게 액세스할 수 있고 다양한 사용자 기반과 관련이 있습니다.

자세한 내용은 [맵에 대한 기본 언어를 설정하는 방법](how-to-set-preferred-language-map.md) 단원을 참조하십시오.

![\[Map of Taiwan showing major cities including Taipei, Taichung, and Kaohsiung along the western coast.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/standard-language-switcher.gif)


## 정치적 관점
<a name="maps-political"></a>

기본적으로 Amazon Location Service는 파선 테두리가 있는 분쟁 지역을 시각적으로 나타내는 국제적 관점을 제공합니다. 국제적 관점에서 국가별 지정학적 보기로 전환하려면 API 쿼리에서 *정치적 보기* 파라미터를 사용합니다. 이를 통해 기업은 특정 국가에서 맵 및 맵 데이터에 대한 특정 지정학적 뷰를 준수해야 하므로 현지 법률을 준수할 수 있습니다.

Amazon Location Service는 기본 국제적 관점 외에도 아르헨티나, 키프로스, 이집트, 조지아, 그리스, 케냐, 모로코, 팔레스타인, 세르비아, 러시아, 수단, 수리남, 시리아, 튀르키예, 탄자니아, 우루과이 국가의 지정학적 보기를 지원합니다. 지정학적 관점을 활성화하려면 *정치적 관점* 파라미터에 적절한 값을 전달합니다.

자세한 내용은 [맵의 정치적 관점을 설정하는 방법](how-to-set-political-view-map.md) 단원을 참조하십시오.

![\[Map of Cyprus showing the locations of Nicosia and Limassol, with surrounding waters.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/maps-political-view.png)


# 3D 기능
<a name="maps-3d-map"></a>

Amazon Location Service의 3D 시각화 기능인 지형 및 건물은 사용자가 지리적 데이터에 깊이와 관점을 추가하여 더 나은 결정을 내리는 데 도움이 됩니다. 3D 지형은 경로 최적화, 비상 대응 계획 및 야외 레크리에이션에 중요한 고도 변화를 보여주는 반면, 3D 건물은 도시 탐색, 부동산 평가 및 랜드마크 식별을 위한 공간 컨텍스트를 제공합니다. 이러한 기능은 간단한 API 파라미터(지형, 건물)를 통해 원활하게 통합되므로 물류, 공공 안전, 관광 및 부동산 전반의 애플리케이션이 복잡한 구현 없이 더 직관적이고 매력적인 사용자 경험을 제공할 수 있습니다.

## 3D 지형
<a name="maps-3d-terrain"></a>

3D 지형 기능은 지구 표면의 고도 데이터를 3차원 표면으로 렌더링하여 사용자가 여러 각도와 관점에서 풍경을 볼 수 있도록 합니다. 시야각을 제어하면 사용자는 깊이 지각을 더 쉽게 얻고 매핑된 영역에서 지형 복잡성, 경사 및 상대 높이를 평가할 수 있습니다.

API 요청에서 `terrain` 파라미터를 사용하여 3차원 지형 시각화를 활성화합니다. 이 기능은 지형 특성에 대한 몰입형 관점을 제공하므로 산성 또는 다양한 지형에서 공간 관계를 이해하는 데 특히 유용합니다.

향상된 고도 정밀도와 시각적 컨텍스트를 위해 API 요청에서 3D 지형을 `contour-density` 파라미터와 결합합니다. [3D 맵 생성을 참조하세요](https://docs.aws.amazon.com/location/latest/developerguide/how-to-create-a-3d-map.html).

------
#### [ Satellite ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/zoom-hybrid-3d-terrain.gif)


------
#### [ Standard ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/zoom-3d-terrain.gif)


------

## 3D 건물
<a name="maps-3d-buildings"></a>

3D Buildings 기능은 건물 공간을 높이와 볼륨이 있는 3차원 구조로 렌더링하므로 사용자가 여러 각도와 관점에서 도시 환경을 시각화할 수 있습니다. 시야각을 제어하면 사용자는 도시 및 선진 지역 내의 건물 밀도, 높이 관계 및 공간 컨텍스트를 더 쉽게 이해할 수 있습니다.

API 요청에서 `buildings` 파라미터를 사용하여 3차원 빌드 시각화를 활성화합니다. 이 기능은 도시 풍경에 대한 몰입형 관점을 제공하므로 도시 레이아웃을 이해하고, 랜드마크를 식별하고, 복잡한 도시 환경을 탐색하는 데 특히 유용합니다. [3D 맵 생성을](https://docs.aws.amazon.com/location/latest/developerguide/how-to-create-a-3d-map.html) 참조하세요.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/zoom-3d-buildings.gif)


## 글로브 보기
<a name="maps-3d-globe-view"></a>

Globe View 기능은 지구의 구형 표현을 제공하므로 사용자는 3차원 지구에서 지리적 데이터를 시각화할 수 있습니다. 이 관점은 지구 표면의 글로벌 공간 관계, 대륙 레이아웃 및 곡률을 이해하는 자연스럽고 직관적인 방법을 제공합니다.

Globe View를 사용하여 사실적인 지구 곡률과 전역적 관점이 있는 맵을 표시할 수 있습니다. [3D 맵 생성을 참조하세요](https://docs.aws.amazon.com/location/latest/developerguide/how-to-create-a-3d-map.html).

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/zoom-globe-view.gif)


# AWS 맵 스타일 및 기능
<a name="map-styles"></a>

## 맵 스타일 개요
<a name="map-style-overview"></a>

맵을 요청하려면 먼저 맵 스타일을 선택해야 합니다. 맵 스타일은 맵 타일, 글리프 및 스프라이트에 대한 스타일을 포함하여 렌더링된 맵의 시각적 모양을 정의합니다. 맵 타일은 벡터(MVT) 또는 래스터(이미지)일 수 있습니다. 확대하거나 축소할 때 스타일이 변경될 수 있지만 일반적으로 일관된 테마를 유지합니다. 맵 렌더링 라이브러리에 전달하기 전에 부분 또는 전체 스타일을 재정의할 수 있습니다.

## AWS 맵 스타일
<a name="aws-map-styles"></a>

AWS 맵 스타일은 산업 표준을 준수하며 정교하고 전문적인 스타일을 제공합니다. 이러한 스타일은 출시 시간을 단축하며 전용 카토그래퍼가 처음부터 맵 스타일을 생성할 필요가 없습니다. 이러한 사전 설계된 스타일을 사용하면 최종 사용자를 위한 시각적으로 매력적인 맵을 빠르고 효과적으로 생성할 수 있습니다.

사전 설계된 AWS 맵 스타일을 활용하면 처음부터 맵 스타일을 설계하고 구성하는 데 시간이 많이 걸리고 리소스 집약적인 프로세스를 우회할 수 있습니다. 이렇게 하면 개발 프로세스가 가속화되어 핵심 기능에 집중할 수 있습니다.




| 맵 스타일 이름 | 설명 | 색상 체계 | 동적 맵 지원 | 정적 맵 지원 | 
| --- | --- | --- | --- | --- | 
| 표준 | 색상이 지정된 맵 스타일 | 다크 및 라이트 | 예 | 예 | 
| 모노크롬 | 회색조 맵 스타일 | 다크 및 라이트 | 예 | 아니요 | 
| 하이브리드 | 위성 이미지의 도로 및 레이블 오버레이 | 해당 사항 없음 | 예 | 아니요 | 
| 위성 | 위성 이미지 기반 맵 스타일 | 해당 사항 없음 | 예 | 예 | 

Amazon Location Service는 [MapLibre GL 스타일 사양](https://maplibre.org/maplibre-style-spec/)에 따라 스타일을 제공합니다.

## 표준 맵 스타일
<a name="standard-map"></a>

표준 맵 스타일은 거의 모든 애플리케이션 또는 웹 사이트에 아름답고 기능적으로 적합한 깔끔하고 현대적인 범용 맵 디자인입니다.

자세한 내용은 [표준 맵 스타일](standard-map-style.md)를 참조하세요.

![\[Map of Boston showing neighborhoods, streets, and waterways in standard and dark modes.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-standard.png)


## 모노크롬 맵 스타일
<a name="monochrome-map"></a>

모노크롬 맵 스타일은 데이터 시각화 오버레이와 함께 사용하도록 설계된 제한된 색상 팔레트가 있는 최소한의 캔버스입니다. 모노크롬 스타일은 라이트 모드와 다크 모드를 모두 제공하여 지리적 컨텍스트에 필요한 모든 필수 정보를 전달합니다.

자세한 내용은 [모노크롬 맵 스타일](monochrome-map-style.md)를 참조하세요.

![\[Two maps of North America, one light and one dark, showing countries and major bodies of water.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-monochrome.png)


## 하이브리드 맵 스타일
<a name="hybrid-map"></a>

하이브리드 맵 스타일은 글로벌 위성 이미지와 벡터 맵의 명확한 레이블 및 구성 가능한 POI 범주를 결합합니다.

자세한 내용은 [하이브리드 맵 스타일](hybrid-map-style.md)를 참조하세요.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-hybrid.png)


## 위성 맵 스타일
<a name="satellite-map"></a>

위성 맵 스타일은 위성에서 캡처한 고해상도 실제 이미지를 제공하여 풍경, 건물 및 지형을 사실적으로 볼 수 있습니다. 이 스타일에는 일반적으로 지리적 세부 정보에 초점을 맞추기 위해 최소한의 레이블 또는 오버레이가 포함됩니다.

![\[Satellite view of Australia, New Zealand, and Southeast Asian islands surrounded by deep blue oceans.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-satellite.png)


# 표준 맵 스타일
<a name="standard-map-style"></a>

표준 맵 스타일은 거의 모든 애플리케이션 또는 웹 사이트에 원활하게 맞춰질 수 있는 깔끔하고 현대적인 범용 맵 디자인을 제공합니다.

## 색상 체계
<a name="color-scheme"></a>

표준 맵 스타일은 라이트 모드와 다크 모드 모두에서 제공됩니다. 라이트 모드는 다재다능하며 모든 컨텍스트에 맞고, 다크 모드는 세부 정보를 명확하게 표시하고 어두운 환경에서 가독성을 유지하도록 설계된 제한된 팔레트를 갖추고 있습니다. 이렇게 하면 특히 야간 탐색과 같은 시나리오에서 방해 요소를 최소화할 수 있습니다.

------
#### [ Forest ]

![\[Map of Washington state and Vancouver area showing coastal regions and major cities.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/color-scheme-forest.png)


------
#### [ Road ]

![\[Map of Bronx area showing highways, neighborhoods, and landmarks in light and dark modes.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/color-scheme-road.png)


------
#### [ City ]

![\[Map of Boston showing neighborhoods, streets, and waterfront areas in light and dark modes.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/color-scheme-city.png)


------
#### [ Neighborhood ]

![\[Map of Montreal showing districts, landmarks, and streets in light and dark modes.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/color-scheme-neighborhood.png)


------

## 즐겁고 현대적인 팔레트
<a name="modern-palette"></a>

부드러운 색상은 맵에 부담을 주지 않으면서 중요한 토지 사용 컨텍스트를 제공하여 높은 확대/축소 수준과 낮은 확대/축소 수준에서 모두 유용한 정보를 제공합니다. 축소하면 숲, 사막, 빙하와 같은 특성이 맵에 풍부함을 더합니다. 확대하면 다양한 색상이 학교, 병원, 레크리에이션 공간(예: 공원 및 스포츠 시설)과 같은 중요한 랜드마크와 상업 및 산업 영역과 같은 도시 지구를 강조 표시합니다.

전반적인 스타일은 각각의 토지 사용 영역을 보완하는 POI 마커를 포함하여 응집력 있는 색상 팔레트가 특징입니다. 도로망은 회색 음영으로 표시되므로 맵을 밝고 산만하게 만드는 색상으로 압도하지 않으면서 세부 정보를 제공합니다.

------
#### [ Highway ]

![\[Map of San Francisco Bay Area showing cities and highways in standard and dark modes.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/modern-highway.png)


------
#### [ Beach ]

![\[Map of Malibu area showing Pacific Coast Highway, Legacy Park, and Malibu Lagoon State Beach.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/modern-beach.png)


------
#### [ Island ]

![\[Map of Oahu island showing major highways, Honolulu, and surrounding areas in day and night views.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/modern-island.png)


------
#### [ Neighborhood ]

![\[Map of downtown Honolulu showing streets, landmarks, and neighborhoods in light and dark modes.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/modern-neighborhood.png)


------
#### [ Intersection ]

![\[Map of Lower Manhattan showing City Hall Park, streets, and landmarks in light and dark modes.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/style-intersection.png)


------
#### [ Roundabout ]

![\[Map of Washington Circle area showing streets, landmarks, and points of interest in light and dark modes.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/style-roundabout.png)


------

## 풍부한 관심 지점(POI)
<a name="rich-poi"></a>

표준 맵 스타일은 구성 가능한 관심 지점(POI)의 풍부한 배열을 지원합니다. 몇 줄의 코드만으로 사용 사례와 관련된 POI 범주를 선택할 수 있습니다.

![\[Map showing various points of interest in Midtown Manhattan, including businesses and landmarks.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/poi-toggle-animation.gif)


## 세계를 위한 설계
<a name="designed-for-the-world"></a>

표준 스타일은 다양한 정치 뷰를 지원하여 사용자를 위한 올바른 경계가 맵에 표시되도록 합니다. 또한 이 스타일을 사용하면 수십 개의 지원되는 언어와 쓰기 시스템을 사용하여 맵 레이블의 언어를 쉽게 전환할 수 있습니다.

자세한 내용은 [현지화 및 국제화](maps-localization-internationalization.md)를 참조하세요.

------
#### [ Languages ]

![\[Map of Taiwan showing major cities and geographical features including Taiwan Strait.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/standard-language-switcher.gif)


------
#### [ Political view ]

![\[Map of Cyprus showing Nicosia in the north and Limassol in the south, with surrounding Mediterranean Sea.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/maps-political-view.png)


------

## 지형
<a name="topography"></a>

표준 맵 스타일은 고도 변형과 자연 지리적 특성을 강조하는 상세한 지형 시각화를 제공합니다. 윤곽선, 셰이딩 및 지형 텍스처는 풍경을 사실적으로 표현하여 사용자가 슬로프, 계곡 및 피크를 쉽게 해석할 수 있도록 합니다. 이 지형 렌더링은 지형 특성을 이해하면 의사 결정 및 공간 인식이 향상되는 야외 계획, 환경 분석 및 애플리케이션에 적합합니다.

------
#### [ Both Terrain and Contour Density ]

 ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-terrain-contour-light.png) ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-terrain-contour-dark.png) 

------
#### [ Only terrain ]

 ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-terrain-light.png) ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-terrain-dark.png) 

------
#### [ Only contour density ]

 ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-contour-light.png) ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/map-contour-dark.png) 

------

## 탐색
<a name="navigation"></a>

표준 맵 스타일은 탐색 및 경로 계획을 최적화하도록 설계된 동적 시각화를 제공하는 옵션을 제공합니다. 라이브 트래픽 데이터는 혼잡, 인시던트 및 도로 상태를 강조 표시하므로 사용자는 지연을 예측하고 그에 따라 경로를 조정할 수 있습니다. 트럭 또는 대중교통과 같은 여러 이동 모드를 사용하는이 기능을 사용하면 사용자가 자신의 경로에 가장 효율적이고 상황에 적합한 옵션을 선택하여 더 원활하고 정보에 입각한 라우팅 경험을 보장할 수 있습니다.

------
#### [ Traffic ]

 ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/traffic-light.png) ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/traffic-dark.png) 

------
#### [ Transit ]

 ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/transit-light.png) ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/transit-dark.png) 

------
#### [ Truck ]

 ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/truck-light.png) ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/truck-dark.png) 

------

## 3D
<a name="3D"></a>

표준 맵 스타일은 공간 깊이와 관점으로 지형 고도와 건물 구조를 렌더링하는 몰입형 3차원 시각화를 제공합니다. 조정 가능한 시야각, 피치 제어 및 3차원 렌더링은 자연 환경과 도시 환경을 사실적으로 표현하므로 사용자는 고도 변경, 지형 복잡성 및 공간 관계를 쉽게 해석할 수 있습니다. 이 3차원 렌더링은 경로 계획, 도시 탐색 및 수직 차원과 깊이 지각을 이해하면 의사 결정과 공간 인식이 향상되는 애플리케이션에 적합합니다.

------
#### [ 3D Terrain ]

 ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/3d-terrain-light.png) ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/3d-terrain-dark.png) 

------
#### [ 3D Buildings ]

 ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/3d-buildings-light.png) ![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/3d-buildings-dark.png) 

------

## 토지 사용
<a name="land-use"></a>

표준 맵 스타일은 생생한 색상을 사용하여 지정된 토지 사용을 나타냅니다. 녹색은 숲, 잔디, 골프 코스, 스포츠 센터, 공원을 나타냅니다. 수역, 빙하, 사막, 해변에 관련 색상이 사용됩니다. 또한 상업, 산업, 공항, 군사 영역, 의료 시설, 교육 영역과 같은 토지 용도는 특정한 생생한 범주로 강조 표시됩니다.

------
#### [ Light ]

![\[Color-coded squares representing various land uses with corresponding hex codes.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/land-use-light.png)


------
#### [ Dark ]

![\[Color-coded squares representing various land uses with corresponding hex codes and labels.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/land-use-dark.png)


------

# 모노크롬 맵 스타일
<a name="monochrome-map-style"></a>

모노크롬 스타일은 데이터 시각화 오버레이와 함께 사용하도록 설계된 제한된 색상 팔레트가 있는 최소한의 캔버스입니다. 이 스타일은 밝은 모드와 어두운 모드를 모두 지원하며, 각 모드는 지리적 컨텍스트에 필요한 모든 필수 정보를 전달합니다.

## 색상 체계
<a name="color-schemes"></a>

모노크롬 스타일은 어두운 모드와 밝은 모드 모두에 색상 선택을 제공합니다.

------
#### [ Continent ]

![\[Map of North America showing the United States, Canada, Mexico, and parts of Central and South America.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/monochrome-continent.png)


------
#### [ Neighborhood ]

![\[Map of Downtown Miami showing streets, parks, and landmarks in light and dark modes.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/monochrome-neighborhood-colors.png)


------

## 사용 사례
<a name="use-case"></a>

모노크롬 스타일은 데이터 시각화 및 최소한의 디자인 요구 사항에 적합합니다.

### 데이터 시각화
<a name="data-visualization"></a>

모노크롬 스타일은 의도적으로 회색 음영만 사용하므로 코로플레스, 히트맵 또는 점 맵과 같은 데이터 오버레이 계층에서 색상 선택을 자유롭게 할 수 있습니다.

![\[Map of lower Manhattan showing streets, landmarks, and red dots indicating data points.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/monochrome-data-vis.png)


### 최소한의 디자인
<a name="minimalist"></a>

깔끔하고 눈에 띄지 않는 맵을 유지하기 위해 모노크롬 스타일에는 공항, 공원, 병원 및 대학교와 같은 필수 기능에 대한 관심 지점(POI) 세트가 축소되어 있습니다.

------
#### [ Airport ]

![\[Map showing Miami International Airport and surrounding roads including Airport Expy and Dolphin Expy.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/monochrome-airport.png)


------
#### [ Neighborhood ]

![\[Map showing Jackson Memorial Hospital, UHealth Tower, and nearby streets in light and dark modes.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/monochrome-neighborhood.png)


------

모노크롬 스타일에는 축소된 POI 세트가 포함되어 있지만 기본 타일에는 여전히 전체 POI 데이터 세트가 포함되어 있습니다. 이렇게 하면 스타일에 시각적으로 존재하지 않는 POI를 표시할 수 있습니다.

## 세계를 위한 설계
<a name="designed-for-the-world"></a>

모노크롬 스타일은 다양한 정치 뷰를 지원하여 맵에 사용자에게 올바른 경계가 표시되도록 합니다. 또한 이 스타일을 사용하면 수십 개의 지원되는 언어와 쓰기 시스템을 사용하여 맵 레이블의 언어를 쉽게 전환할 수 있습니다.

![\[Map of Taiwan showing major cities and the Taiwan Strait, with a monochrome color scheme.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/monochrome-language-switcher.gif)


# 하이브리드 맵 스타일
<a name="hybrid-map-style"></a>

하이브리드 맵 스타일은 글로벌 위성 이미지를 표준 맵 스타일에 있는 것과 동일한 명확한 레이블 및 구성 가능한 관심 지점(POI) 범주와 결합합니다. 이 조합은 애플리케이션의 가독성과 사용성을 보장하는 동시에 풍부한 지리적 세부 정보를 제공합니다.

## 풍부한 관심 지점(POI)
<a name="rich-poi"></a>

레이블과 POI는 대비와 가독성을 위해 특별히 설계되었으며, 세부 이미지에 방해를 주지 않고 위성 계층에 필요한 컨텍스트를 제공합니다. 축소하면 밝은 도로 선이 도시 구조를 강조 표시하고 확대하면 점진적으로 사라져 보다 자세한 거리 수준 정보를 보여줍니다.

------
#### [ Zoom ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/hybrid_zoom.gif)


------
#### [ Neighborhood ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/hybrid-neighborhood.png)


------
#### [ Zoomed-in ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/hybrid-zoom.png)


------

## 세계를 위한 설계
<a name="designed-for-the-world"></a>

하이브리드 스타일은 다양한 정치적 관점을 지원하여 맵에 사용자에게 올바른 경계가 표시되도록 합니다. 또한 이 스타일을 사용하면 수십 개의 지원되는 언어와 현지화된 경험을 보장할 수 있는 쓰기 시스템을 통해 맵 레이블의 언어를 쉽게 전환할 수 있습니다.

# Map API
<a name="choose-maps-apis"></a>

맵은 다양한 애플리케이션의 동적 맵 유형과 정적 맵 유형 모두에 대한 액세스를 제공합니다. 자세한 내용은 [Amazon Location Service Maps](maps.md) 섹션을 참조하세요.
+ **동적 맵**: 실시간으로 사용자 지정할 수 있는 대화형 맵으로, 사용자가 데이터를 이동, 확대 및 오버레이할 수 있습니다. 자세한 내용은 [동적 맵](dynamic-maps.md) 섹션을 참조하세요.
+ **정적 맵**: 대화형 요소 없이 특정 위치 또는 경로를 표시하는 맵의 정적 이미지로, 상호 작용이 제한된 애플리케이션에 적합합니다. 자세한 내용은 [정적 맵](static-maps.md) 섹션을 참조하세요.

다음 표는 Maps API로 가장 잘 해결할 수 있는 여러 비즈니스 사용 사례를 보여줍니다.

## Maps 사용 사례
<a name="maps-table"></a>

다음 섹션에서는 Maps API로 가장 잘 해결할 수 있는 여러 비즈니스 사용 사례를 보여줍니다.


| **비즈니스 요구 사항** | **유용한 API** | **예제** | 
| --- | --- | --- | 
|  **대화형 맵 표시** 확대/축소, 이동, 용이성, 비행, 피치, 회전 및 베어링 등과 같은 맵 제스처를 지원합니다.  | 렌더링 엔진(MapLibre)을 사용하는 `GetTile` 및 `GetStyleDescriptor` | [맵을 표시하는 방법](how-to-display-a-map.md) | 
|  **맵에 마커 추가** 마커, 아이콘 등을 예로 들 수 있습니다.  |  렌더링 엔진(MapLibre)을 사용하는 `GetTile` 및 `GetStyleDescriptor` | [맵에 마커를 추가하는 방법](how-to-add-marker-on-map.md) [맵에 아이콘을 추가하는 방법](how-to-add-icon-on-map.md) | 
|  **맵에 사용자 상호 작용 구성 요소 추가** 예를 들어 선호하는 언어 또는 지정학적 뷰로 맵을 표시합니다. |  렌더링 엔진(MapLibre)을 사용하는 `GetTile` 및 `GetStyleDescriptor` | [맵에 컨트롤을 추가하는 방법](how-to-add-control-on-map.md) [맵에 팝업을 추가하는 방법](how-to-add-popup-to-map.md) | 
| **맵에서 실시간 또는 사전 레코딩된 데이터 시각화** 히트 맵, KML, GeoJSON 기능, 다각형, 사각형, 폴리라인, 원, 마커 등을 예로 들 수 있습니다. | 렌더링 엔진(MapLibre)을 사용하는 `GetTile` 및 `GetStyleDescriptor` | [맵에 선을 추가하는 방법](how-to-add-line-on-map.md) [맵에 다각형을 추가하는 방법](how-to-add-polygon-on-map.md) | 
| **현지화를 통해 맵 표시**예를 들어 선호하는 언어 또는 지정학적 뷰로 맵을 표시합니다. |  렌더링 엔진(MapLibre)을 사용하는 `GetTile` 및 `GetStyleDescriptor` | [맵에 대한 기본 언어를 설정하는 방법](how-to-set-preferred-language-map.md) [맵의 정치적 관점을 설정하는 방법](how-to-set-political-view-map.md) | 
| **정적 맵 이미지 표시** 예를 들어 애플리케이션, 이메일, 보고서 또는 인쇄에서 맵 이미지를 사용합니다. | `GetStaticMap` | [특정 위치의 정적 맵을 가져오는 방법](get-static-map-specific-position.md) [특정 차원의 정적 맵을 가져오는 방법](get-static-map-specific-dimension.md) [정적 맵에 대해 반경과 확대/축소 중에서 결정하는 방법](choose-radius-vs-zoom.md) [정적 맵에 대한 스케일을 추가하는 방법](add-scale-static-map.md)  | 
| **맵 이미지에 마커 추가** 마커, 근접 원, 아이콘 등을 예로 들 수 있습니다. | `GetStaticMap` | [정적 맵에 마커를 추가하는 방법](add-marker-static-map.md) | 
| **맵 이미지에서 데이터 시각화** GeoJSON 기능, 다각형, 사각형, 폴리라인, 원 등을 예로 들 수 있습니다. |  `GetStaticMap` | [정적 맵에 선을 추가하는 방법](how-to-add-line-static.md)  | 
| **맵에서 실제 사용 사례 시각화** 예를 들어 경로, 근접 원 등이 있습니다. |  `GetStaticMap` | [정적 맵에 경로를 추가하는 방법](how-to-add-route.md)  | 
| **맵에서 Places 검색 및/또는 지오코드 결과 시각화 **Autocomplete를 제외한 모든 API가 지리 좌표를 반환합니다. | Places API로 렌더링 엔진(MapLibre)을 사용하는 GetTile 및 GetStyleDescriptor |    | 
| **맵에 경로 그리기**웨이포인트 표시를 지원합니다. | 경로 계산을 사용하는 렌더링 엔진(MapLibre)을 사용하는 GetTile 및 GetStyleDescriptor  |  | 
| **맵에서 일치하는 GPS 추적 시각화 **트럭, 보행자, 자동차, 스쿠터와 같은 이동 모드를 지원합니다. | 도로에 스냅을 사용하는 렌더링 엔진(MapLibre)을 사용하는 GetStyleDescriptor  |  | 

# 동적 맵
<a name="dynamic-maps"></a>

**참고**  
정치적 견해 기능을 사용하여 Amazon Location Service를 통해 액세스하는 맵, 이미지 및 기타 데이터를 사용할 수 있는 국가 또는 리전 매핑과 관련된 법률을 포함하여 준거법을 준수해야 합니다.

대화형 맵이라고도 하는 동적 맵은 확대/축소, 이동, 용이성, 비행, 피치, 회전 및 베어링과 같은 제스처를 지원하는 디지털 맵입니다. Amazon Location Service를 사용하면 사용자에게 즉각 반응하고 몰입감 있는 대화형 경험을 제공하는 맵 애플리케이션을 빌드할 수 있습니다. 이러한 맵을 사용하면 사용자가 사용자 입력을 기반으로 실시간 데이터와 과거 데이터를 시각화하고 분석하여 실시간으로 맵을 이동, 확대/축소 및 탐색할 수 있습니다. Amazon Location Service에서 제공하는 맵은 여러 언어와 정치적 견해도 지원합니다.

[현지화 및 국제화](maps-localization-internationalization.md)에 대해 자세히 알아보세요.

이 API에 대한 요청, 응답, cURL 및 CLI 명령의 예는 [동적 맵 사용 방법](https://docs.aws.amazon.com/location/latest/developerguide/dynamic-maps-how-to.html)을 참조하세요.

------
#### [ City ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/dynamic-city.png)


------
#### [ Roads ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/dynamic-roads.png)


------
#### [ Park ]

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/dynamic-parks.png)


------

AWS 맵 스타일에 대한 자세한 내용은 [AWS 맵 스타일 및 기능](map-styles.md) 섹션을 참조하세요.

## 일반 사용 사례
<a name="common-use-cases"></a>

**데이터 분석 및 시각화**  
고품질 맵에 데이터를 오버레이하여 혁신적인 공간 패턴과 추세를 파악합니다. 팀이 지리적 데이터를 사용하여 사용자 지정 가능한 대화형 맵 시각화를 생성할 수 있도록 지원합니다. 맵과 데이터를 사용하여 사이트 선택을 최적화하거나 인프라를 계획하거나 시장 기회를 분석할 수 있습니다.

**부동산 경험 향상**  
예비 구매자에게 부동산 목록에 대한 포괄적인 위치 컨텍스트를 제공합니다. 속성의 정확한 위치를 관할 구역 경계, 현지 사업체, 공원 및 학교와 같은 주변 지역 세부 정보와 함께 표시합니다. 고객이 오픈 하우스로 가는 길을 찾고 유익한 위치 중심의 부동산 경험을 만들 수 있도록 지원합니다.

**매력적인 여행 경험 구축**  
세부 거리 보기 및 주요 지리적 기능과 함께 목적지를 보여주는 동적 맵을 표시합니다. 관광객과 여행객을 위해 호텔, 레스토랑, 관광 명소와 같은 관심 지점을 강조 표시합니다. 하이킹 트레일과 같은 야외 편의 시설을 도표화하여 사용자가 이상적인 여정을 계획하는 데 도움을 줍니다.

## 동적 맵 렌더링
<a name="rendering-dynamic-map"></a>

맵 렌더링 엔진은 디지털 화면에서 맵의 시각적 렌더링을 담당하는 라이브러리입니다. 렌더링 엔진은 맵 타일(벡터, 하이브리드, 위성), 맵 데이터(점, 라인, 다각형) 또는 래스터 데이터(이미지)를 함께 연결하여 웹 브라우저 또는 네이티브 앱에 대화형 맵을 표시합니다. Amazon Location Service는 웹 및 모바일(iOS 및 Android) 플랫폼을 모두 지원하는 [MapLibre](https://github.com/maplibre/maplibre-gl-js) 렌더링 엔진을 사용하도록 권장합니다. 또한 MapLibre는 플러그인 모델을 제공하며 여러 언어에서 검색 및 라우팅을 위한 사용자 인터페이스를 지원합니다.

자세한 내용은 [첫 번째 Amazon Location Maps and Places 애플리케이션 생성](first-app.md) 섹션을 참조하세요.

## 맵 자산 요청
<a name="requesting-map-assets"></a>

렌더링 엔진은 맵 타일, 스프라이트(아이콘) 및 글리프(글꼴)에 대한 참조가 포함된 맵 스타일을 사용합니다. 사용자가 맵과 상호 작용(로드, 이동 또는 확대/축소)할 때 렌더링 엔진은 원하는 입력 파라미터를 사용하여 API(타일, 스프라이트 및 글리프용)를 호출합니다. 애플리케이션의 요구 사항에 따라 이러한 API를 직접 호출할 수도 있습니다.

**맵 타일**  
서버에서 검색되고 렌더링 엔진에 의해 어셈블되어 대화형 디지털 맵을 생성하는 데이터가 포함된 작은 사각형 타일입니다.

**맵 스타일**  
색상 및 스타일과 같은 맵의 시각적 모양을 정의하는 규칙 모음입니다. Amazon Location Service는 [Mapbox GL 스타일 사양](https://docs.mapbox.com/style-spec/guides/)을 따릅니다.

**글리프 파일**  
맵 렌더러가 텍스트 레이블을 표시하는 데 사용하는 인코딩된 유니코드 문자가 포함된 이진 파일입니다.

**스프라이트 파일**  
JSON 파일에 위치 설명이 포함된 작은 래스터 이미지가 있는 PNG(Portable Network Graphics) 이미지 파일입니다. 맵 렌더러가 맵에 아이콘이나 텍스처를 렌더링하는 데 사용됩니다.

# 타일
<a name="tiles"></a>

맵 타일은 더 큰 맵의 미리 렌더링된 작은 섹션으로, 일반적으로 정사각형 이미지로 표시됩니다. 다양한 확대/축소 수준에서 표시되는 부분만 로드하여 지리적 데이터를 효율적으로 표시하는 데 사용됩니다. 맵 타일에는 다음과 같은 세 가지 주요 유형이 있습니다.

자세한 내용은 *Amazon Location Service API 참조*의 [GetTile](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetTile.html) 섹션을 참조하세요.

## 타일 유형
<a name="tile-types"></a>

**벡터 맵 타일**  
벡터 맵 타일은 맵 데이터를 이미지 대신 기하학적 모양(점, 선, 다각형)으로 저장합니다. 이를 통해 모든 해상도에서 명확하게 유지되는 확장 가능한 고품질 맵을 생성할 수 있습니다.

**래스터 맵 타일**  
래스터 맵 타일은 특정 지리적 영역을 나타내는 사전 렌더링된 이미지입니다. 벡터 타일과 달리 래스터 타일은 더 단순하지만 복원에 대한 유연성이 부족합니다.

**하이브리드 맵 타일**  
하이브리드 맵 타일은 벡터 데이터와 래스터 데이터를 모두 결합합니다. 도로와 같은 코어 맵 요소에 벡터 데이터를 사용하는 동시에 세부 위성 또는 항공 사진과 같은 더 복잡한 요소에 래스터 이미지를 사용합니다.

## 벡터 타일 계층
<a name="vector-tiles-layers"></a>

다음은 벡터 맵 타일의 10개 계층입니다.
+ **경계**: 국가, 주, 도시 경계를 포함한 관리 및 지리적 경계를 정의합니다.
+ **건물 및 주소**: 건물 셰이프와 세부 주소 지점을 나타냅니다.
+ **지구**: 사막, 산, 숲과 같은 자연 특성에 대한 글로벌 지형 및 표면 범위를 표시합니다.
+ **토지 사용**: 공원, 농지 및 도시 영역과 같이 분류된 영역을 표시합니다.
+ **장소**: 도시, 마을, 눈에 띄는 랜드마크와 같은 중요한 위치를 식별합니다.
+ **POI(관심 지점):** 명소, 비즈니스 및 기타 주요 위치를 강조 표시합니다.
+ **도로**: 도로, 고속도로 및 경로 네트워크를 나타냅니다.
+ **도로 레이블**: 도로 이름 및 경로 번호에 대한 텍스트 레이블을 제공합니다.
+ **전송**: 버스, 열차 및 고속도로와 같은 대중 교통선을 보여줍니다.
+ **물**: 호수, 강, 바다를 포함한 수역을 표시합니다.

## 사용 사례
<a name="tiles-use-cases"></a>
+ 다양한 확대/축소 수준에서 맵의 여러 섹션을 렌더링하기 위한 맵 타일을 가져옵니다.
+ 이동 및 확대/축소와 같은 사용자 상호 작용을 기반으로 맵 타일 요청 최적화.
+ 자세한 렌더링을 위해 벡터 또는 래스터 타일에 액세스.

## 요청 이해
<a name="tiles-understand-the-request"></a>

**참고**  
 `ap-southeast-1` 및의 고객의 경우 `ap-southeast-5`지원되는 요청 및 응답 필드가 다를 수 있습니다. 자세한 내용은 [GetTile API 참조](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetTile.html)를 참조하세요.

요청을 가져오려면 가져올 특정 타일을 식별하기 위해 `Tileset`, `X`, `Y`, `Z` 파라미터가 필요합니다. 권한 부여를 위해 `Key` 파라미터를 선택적으로 포함할 수 있습니다.
+ **`Tileset`**: 타일을 가져오기 위해 원하는 타일 세트를 지정합니다.
+ **`X`**: 맵 타일의 X축 값입니다.
+ **`Y`**: 맵 타일의 Y축 값입니다.
+ **`Z`**: 타일의 확대/축소 수준을 정의하는 확대/축소 값입니다.
+ **`Key`**: 선택적으로 권한 부여 목적으로 포함됩니다.

## 응답 이해
<a name="tiles-understand-the-response"></a>

응답에는 `CacheControl`, `ContentType`, `ETag`와 같은 헤더가 포함되며 맵 타일 데이터는 MVT 형식의 이진 BLOB으로 포함됩니다. 이러한 헤더는 캐시 제어를 관리하고, 콘텐츠 형식 세부 정보를 제공하고, 타일에 대한 버전 제어를 제공합니다.
+ **`CacheControl`**: 맵 타일에 대한 클라이언트 측 캐싱을 제어합니다.
+ **`ContentType`**: 타일 데이터의 형식을 지정합니다.
+ **`ETag`**: 타일의 버전 식별자를 제공합니다.
+ **`Blob`**: MVT 형식의 벡터 타일 데이터를 포함합니다.

# 동적 맵 스타일 지정
<a name="styling-dynamic-maps"></a>

Amazon Location Service는 미리 설계된 맵 스타일을 사용하거나 스타일 설명자를 사용하여 AWS 맵 스타일을 사용자 지정하는 두 가지 동적 맵 스타일 지정 옵션을 제공합니다.

자세한 내용은 *Amazon Location Service API 참조*의 [GetStyleDescriptor](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetStyleDescriptor.html) 섹션을 참조하세요.

## 사전 설계된 AWS 맵 스타일 사용
<a name="using-aws-map-styles"></a>

AWS 맵 스타일은 정교하고 전문적인 미학을 제공하기 위해 업계 표준을 준수하는 사전 정의된 스타일입니다. Amazon Location Service에서 이러한 스타일을 활용하면 출시 시간을 단축하고 전용 카토그래퍼가 처음부터 맵 스타일을 생성할 필요가 없습니다.

자세한 내용은 [AWS 맵 스타일 및 기능](map-styles.md) 단원을 참조하십시오.

사전 정의된 맵 스타일에 대한 자세한 내용은 다음을 참조하세요.
+ [표준 맵 스타일](map-styles.md#standard-map)
+ [모노크롬 맵 스타일](map-styles.md#monochrome-map)
+ [하이브리드 맵 스타일](map-styles.md#hybrid-map)
+ [위성 맵 스타일](map-styles.md#satellite-map)

## 맵에 AWS 맵 스타일 기능 추가
<a name="using-aws-map-features"></a>

AWS 맵 스타일 기능을 사용하면 지형, 윤곽 밀도, 트래픽, 트럭 또는 전송 오버레이를 포함한 고급 스타일 기능으로 맵을 사용자 지정할 수 있습니다. 이러한 새로운 사용자 지정 옵션을 사용하면 특정 사용 사례에 맞게 맵 모양을 조정할 수 있습니다.

자세한 내용은 [맵 기능을](https://docs.aws.amazon.com/location/latest/developerguide/maps-concepts.html) 참조하세요.

## AWS 맵 스타일 사용의 이점
<a name="benefits-aws-map-styles"></a>
+ **시간 및 리소스 효율성**: AWS 맵 스타일을 사용하면 맵 스타일을 처음부터 설계하는 데 시간이 많이 걸리고 리소스 집약적인 프로세스를 우회할 수 있습니다. 이를 통해 시각적으로 매력적인 맵을 제공하면서 핵심 기능에 집중할 수 있습니다.
+ **전문적이고 일관된 미학**: 숙련된 카토그래퍼는 업계 모범 사례에 따라 AWS 맵 스타일을 정교하게 제작했습니다. 색상 팔레트부터 레이블 배치에 이르기까지 모든 세부 정보는 명확성과 가독성을 위해 최적화되었습니다.
+ **원활한 통합**: AWS 맵 스타일은 애플리케이션의 설계 언어와 원활하게 통합되어 최종 사용자에게 고급스럽고 일관된 매핑 환경을 제공합니다.

## AWS 맵 스타일 시작하기
<a name="getting-started-aws-map-styles"></a>
+ ** AWS 맵 스타일 상품 확인**: Amazon Location Service 콘솔에서 **맵** 섹션으로 이동하여 사용 가능한 스타일을 살펴봅니다.
+ **요구 사항에 맞는 스타일 선택**: 애플리케이션의 설계 및 사용자 경험 요구 사항에 가장 적합한 스타일을 선택합니다.
+ **스타일 통합**: 제공된 설명서에 따라 Amazon Location Service API 또는 SDK를 사용하여 선택한 스타일을 애플리케이션에 통합합니다.

[맵을 표시하는 방법](how-to-display-a-map.md)에 대해 자세히 알아보세요.

## 사용 사례
<a name="use-cases"></a>
+ `Light` 또는와 같은 색상 체계를 기반으로 맵 스타일을 사용자 지정합니다`Dark`.
+ 특정 정치적 견해 또는 지리적 경계에 따라 맵을 표시합니다.
+ 물류, 야외 활동, 교통 데이터를 사용한 탐색, 운송별 라우팅 등 다양한 사용 사례에 맞게 맵 스타일을 최적화합니다.

## 요청 이해
<a name="dynamic-understand-the-request"></a>

**참고**  
 `ap-southeast-1` 및의 고객의 경우 `ap-southeast-5`지원되는 요청 및 응답 필드가 다를 수 있습니다. 자세한 내용은 [GetStyleDescriptor API 참조](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetStyleDescriptor.html)를 참조하세요.

요청은 맵의 스타일 및 프레젠테이션을 정의하기 위해 `ColorScheme`, `Key`, `PoliticalView`와 같은 파라미터를 지원합니다. 원하는 맵 스타일을 지정하려면 `Style` 파라미터가 필요합니다.
+ **`ColorScheme`**: `Light` 또는와 같은 맵의 색상 팔레트를 설정합니다`Dark`.
+ **`PoliticalView`**: 맵 시각화를 위한 정치적 보기를 지정합니다.
+ **`Style`**: `Standard` 또는와 같이 맵의 스타일을 정의합니다`Monochrome`.
+ **`Terrain`**: 고도 셰이딩 및 지리적 강조 표시를 통해 지형 특성을 표시합니다.
+ **`ContourDensity`**: 다양한 밀도 수준에서 고도 윤곽선을 사용하여 지형 셰이프와 가파른 정도를 표시합니다.
+ **`Traffic`**: 맵에서 실시간 트래픽 조건을 오버레이합니다.
+ **`TravelMode`**: 도로 제한이 있는 대중교통 시스템 또는 트럭 라우팅을 포함한 운송 정보를 표시합니다.

## 응답 이해
<a name="dynamic-understand-the-response"></a>

응답은 `CacheControl`, `ContentType`, `ETag`와 같은 헤더를 제공하며 스타일 설명자를 JSON BLOB으로 포함합니다. 헤더는 캐싱 정보, 콘텐츠 형식 세부 정보 및 스타일 변경에 대한 버전 관리를 제공합니다.
+ **`CacheControl`**: 스타일 설명자의 캐싱 구성을 제어합니다.
+ **`ContentType`**: 응답 형식을 JSON으로 나타냅니다.
+ **`ETag`**: 스타일 설명자의 버전 식별자를 제공합니다.
+ **`Blob`**: 스타일 설명자의 본문을 JSON 형식으로 포함합니다.

## 스타일 설명자 사용자 지정
<a name="customizing-style-descriptor"></a>

맵 스타일을 사용자 지정하려면 일반적으로 맵 요소의 시각적 표현을 정의하는 JSON 객체인 스타일 설명자의 구조를 이해해야 합니다. 스타일 설명자는 여러 계층으로 구성되며, 각 계층은 도로, 공원, 건물 또는 레이블과 같은 특정 유형의 맵 요소에 대한 스타일을 제어합니다.
+ **미리 정의된 스타일 설명자를 기본으로 사용**: 미리 정의된 스타일 설명자로 시작하거나 [Maputnik](https://maputnik.github.io/)과 같은 맵 스타일 편집기를 사용하여 처음부터 생성할 수 있습니다.
+ **구조 이해**: 스타일 설명자는 계층을 포함하는 계층적 JSON 객체로, 각각 다른 맵 요소를 나타냅니다. 각 계층에는 색상, 불투명도 및 선 너비와 같이 해당 요소의 시각적 모양을 제어하는 속성이 있습니다.
+ **계층 스타일 수정**: 사용 중인 맵 스타일 편집기에 따라 기존 계층을 변경하거나 새 계층을 추가하여 스타일을 사용자 지정할 수 있습니다. 예를 들어 도로 색상을 조정하거나, 레이블의 글꼴 크기를 수정하거나, 특정 위치에 사용자 지정 아이콘을 추가할 수 있습니다.
+ **다양한 확대/축소 수준에 대한 스타일 정의**: 맵 스타일 편집기를 사용하면 다양한 확대/축소 수준에 대해 다양한 스타일을 정의할 수 있으므로 사용자 확대/축소 상호 작용을 기반으로 세부 정보 및 가시성 수준을 제어하는 데 유용합니다.
+ **테스트 및 반복**: 스타일 설명자를 수정하거나 생성한 후 맵에서 사용자 지정 스타일을 테스트하여 의도한 대로 표시되는지 확인합니다. 원하는 시각적 스타일을 얻을 때까지 반복하고 조정합니다.

# 스프라이트가 있는 스타일 아이콘 그래픽
<a name="styling-iconography-with-sprites"></a>

스프라이트는 맵에 렌더링된 아이콘, 마커 및 기타 요소와 같은 작은 래스터 이미지를 포함하는 Portable Network Graphic(PNG) 이미지 파일입니다. 스프라이트는 스타일, 색상 체계, 변형과 같은 파라미터를 기반으로 사용자 지정할 수 있습니다. Amazon Location Service는 `GetSprites` API를 통해 스프라이트 시트를 제공합니다. 자체 아이콘 세트를 로드하거나([맵에 아이콘을 추가하는 방법](how-to-add-icon-on-map.md) 참조) 스타일 설명자를 사용자 지정하여 사용자 지정 스프라이트를 로드하여 사용자 지정 아이콘을 사용할 수도 있습니다.

자세한 내용은 *Amazon Location Service API 참조*의 [GetSprites](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetSprites.html) 섹션을 참조하세요.

## 사용 사례
<a name="use-cases"></a>
+ 특정 스타일 및 색상 체계에 대해 스프라이트 시트를 사용하여 사용자 지정 맵 요소를 렌더링합니다.
+ Standard, Monochrome 또는 Hybrid와 같은 다양한 맵 스타일의 스프라이트를 가져옵니다.
+ 스프라이트를 수정하여 맵의 아이콘 그래픽을 사용자 지정합니다.

## 요청 이해
<a name="styling-understand-the-request"></a>

요청에는 `ColorScheme`, `FileName`, `Style`과 같은 URI 파라미터가 필요합니다. 이러한 파라미터를 사용하면 맵의 색상 체계, 스타일 및 필요한 특정 스프라이트 파일을 기반으로 스프라이트 시트를 사용자 지정할 수 있습니다.
+ **`ColorScheme`**: "Light" 또는 "Dark"와 같은 스프라이트의 색상 체계를 정의합니다.
+ **`FileName`**: 검색할 스프라이트 파일의 이름으로, PNG 또는 JSON 파일일 수 있습니다.
+ **`Style`**: "Standard" 또는 "Monochrome"과 같은 맵 스타일을 지정합니다.

## 응답 이해
<a name="styling-understand-the-response"></a>

응답에는 `CacheControl`, `ContentType`, `ETag`와 같은 헤더가 포함되며 스프라이트 데이터를 이진 BLOB 또는 JSON 파일로 반환합니다. 이러한 헤더는 캐싱 정보, 응답의 콘텐츠 유형 및 스프라이트 데이터에 대한 버전 관리를 제공합니다.
+ **`CacheControl`**: 스프라이트 파일의 캐싱 구성입니다.
+ **`ContentType`**: 응답의 형식으로, PNG 또는 JSON 데이터가 포함되어 있는지 여부를 나타냅니다.
+ **`ETag`**: 캐시 검증에 사용되는 스프라이트 버전의 식별자입니다.
+ **`Blob`**: 스프라이트 시트 또는 JSON 오프셋 파일의 본문을 포함합니다.

------
#### [ Standard Light ]

![\[Collection of colorful icons representing various services and concepts in cloud computing.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/styling-standard-light.png)


------
#### [ Standard Dark ]

![\[Collection of colorful icons and shapes representing various services and concepts.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/styling-standard-dark.png)


------
#### [ Monochrome Light ]

![\[Collection of various icons and shapes representing different concepts and services.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/styling-monochrome-light.png)


------
#### [ Monochrome Dark ]

![\[Collection of various icons and shapes representing different concepts and services.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/styling-monochrome-dark.png)


------
#### [ Hybrid ]

![\[Collection of colorful icons representing various travel, transportation, and service symbols.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/styling-hybrid.png)


------

# 글리프가 있는 스타일 레이블
<a name="styling-labels-with-glyphs"></a>

글리프는 인코딩된 유니코드 문자가 포함된 바이너리 파일로, 맵 렌더러가 레이블을 표시하는 데 사용됩니다. Amazon Location Service를 사용하면 `GetGlyphs` API를 통한 맵 렌더링에 사용할 글꼴 스택에서 특정 글리프를 검색할 수 있습니다.

자세한 내용은 *Amazon Location Service API 참조*의 [GetGlyphs](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetGlyphs.html) 섹션을 참조하세요.

## 사용 사례
<a name="glyphs-use-cases"></a>
+ 특정 글꼴 및 스타일을 사용하여 맵에서 사용자 지정 텍스트를 렌더링합니다.
+ 현지화된 맵 텍스트 렌더링을 위해 글리프를 가져옵니다.
+ 유니코드 문자 범위를 사용하여 맵 레이블 및 기호를 표시합니다.
+ 글꼴 스택 및 글리프 범위를 기반으로 맵 글꼴 렌더링을 최적화합니다.

## API에서 지원되는 글꼴
<a name="supported-fonts"></a>

API에서 지원되는 글꼴은 다음과 같습니다.
+ Amazon Ember Bold
+ Amazon Ember Bold Italic
+ Amazon Ember Bold, Noto Sans Bold
+ Amazon Ember Bold, Noto Sans Bold, Noto Sans Arabic Bold
+ Amazon Ember Condensed RC BdItalic
+ Amazon Ember Condensed RC Bold
+ Amazon Ember Condensed RC Bold Italic
+ Amazon Ember Condensed RC Bold, Noto Sans Bold
+ Amazon Ember Condensed RC Bold, Noto Sans Bold, Noto Sans Arabic Condensed Bold
+ Amazon Ember Condensed RC Light
+ Amazon Ember Condensed RC Light Italic
+ Amazon Ember Condensed RC LtItalic
+ Amazon Ember Condensed RC Regular
+ Amazon Ember Condensed RC Regular Italic
+ Amazon Ember Condensed RC Regular, Noto Sans Regular
+ Amazon Ember Condensed RC Regular, Noto Sans Regular, Noto Sans Arabic Condensed Regular
+ Amazon Ember Condensed RC RgItalic
+ Amazon Ember Condensed RC ThItalic
+ Amazon Ember Condensed RC Thin
+ Amazon Ember Condensed RC Thin Italic
+ Amazon Ember Heavy
+ Amazon Ember Heavy Italic
+ Amazon Ember Light
+ Amazon Ember Light Italic
+ Amazon Ember Medium
+ Amazon Ember Medium Italic
+ Amazon Ember Medium, Noto Sans Medium
+ Amazon Ember Medium, Noto Sans Medium, Noto Sans Arabic Medium
+ Amazon Ember Regular
+ Amazon Ember Regular Italic
+ Amazon Ember Regular Italic, Noto Sans Italic
+ Amazon Ember Regular Italic, Noto Sans Italic, Noto Sans Arabic Regular
+ Amazon Ember Regular, Noto Sans Regular
+ Amazon Ember Regular, Noto Sans Regular, Noto Sans Arabic Regular
+ Amazon Ember Thin
+ Amazon Ember Thin Italic
+ AmazonEmberCdRC\$1Bd
+ AmazonEmberCdRC\$1BdIt
+ AmazonEmberCdRC\$1Lt
+ AmazonEmberCdRC\$1LtIt
+ AmazonEmberCdRC\$1Rg
+ AmazonEmberCdRC\$1RgIt
+ AmazonEmberCdRC\$1Th
+ AmazonEmberCdRC\$1ThIt
+ AmazonEmber\$1Bd
+ AmazonEmber\$1BdIt
+ AmazonEmber\$1He
+ AmazonEmber\$1HeIt
+ AmazonEmber\$1Lt
+ AmazonEmber\$1LtIt
+ AmazonEmber\$1Md
+ AmazonEmber\$1MdIt
+ AmazonEmber\$1Rg
+ AmazonEmber\$1RgIt
+ AmazonEmber\$1Th
+ AmazonEmber\$1ThIt
+ Noto Sans Black
+ Noto Sans Black Italic
+ Noto Sans Bold
+ Noto Sans Bold Italic
+ Noto Sans Extra Bold
+ Noto Sans Extra Bold Italic
+ Noto Sans Extra Light
+ Noto Sans Extra Light Italic
+ Noto Sans Italic
+ Noto Sans Light
+ Noto Sans Light Italic
+ Noto Sans Medium
+ Noto Sans Medium Italic
+ Noto Sans Regular
+ Noto Sans Semi Bold
+ Noto Sans Semi Bold Italic
+ Noto Sans Thin
+ Noto Sans Italic
+ NotoSans-Bold
+ NotoSans-Italic
+ NotoSans-Medium
+ NotoSans-Regular
+ Open Sans Regular,Arial Unicode MS Regular

## 요청 이해
<a name="glyphs-understand-the-request"></a>

요청은 글리프의 글꼴과 유니코드 범위를 결정하는 두 가지 필수 URI 파라미터인 `FontStack` 및 `FontUnicodeRange`를 수락합니다. `FontStack` 파라미터는 사용할 글꼴을 지정하는 반면, `FontUnicodeRange`는 가져올 문자 범위를 정의합니다. 요청에 본문은 포함되지 않으며, 기능에 대한 URI 파라미터에만 중점을 둡니다.
+ **`FontStack`**: 검색할 글꼴 스택의 이름을 지정합니다. 예: "Amazon Ember Bold, Noto Sans Bold".
+ **`FontUnicodeRange`**: 글리프를 다운로드할 유니코드 문자 범위입니다. 크기는 256의 배수여야 합니다. 예: "0-255".

## 응답 이해
<a name="glyphs-understand-the-response"></a>

응답은 캐싱, 콘텐츠 유형, ETag 및 요금 정보에 대한 HTTP 헤더와 함께 글리프 데이터를 이진 BLOB으로 반환합니다. 글리프 데이터는 맵에서 렌더링할 바이너리 블롭으로 반환되며 헤더는 응답을 효과적으로 처리하기 위한 추가 메타데이터를 제공합니다.
+ **`CacheControl`**: 응답에 대한 캐싱 구성에 대해 클라이언트에 지시합니다.
+ **`ContentType`**: 반환된 글리프 데이터의 유형을 나타내는 응답 본문의 형식을 지정합니다.
+ **`ETag`**: 캐시 검증에 사용되는 글리프 버전의 식별자입니다.
+ **`PricingBucket`**: 요청과 연결된 요금 티어를 나타냅니다.
+ **`Blob`**: 맵 텍스트를 렌더링하는 데 사용되는 이진 BLOB으로 반환되는 글리프 데이터입니다.

# 정적 맵
<a name="static-maps"></a>

**참고**  
정적 맵은 표준 및 위성 스타일만 지원합니다. 자세한 내용은 [AWS 맵 스타일 및 기능](map-styles.md) 단원을 참조하십시오.

정적 맵은 애플리케이션에 필요한 대로 마커(또는 핀), 경로 및 다각형 영역을 오버레이할 수 있는 옵션을 통해 미리 렌더링된 지리적 데이터 표현을 제공합니다. 정적 맵을 사용하면 사용자 지정 가능한 파라미터 및 데이터 입력을 기반으로 정적(비대화형) 맵 이미지를 생성할 수 있습니다. 오버레이, 셰이프를 사용자 지정하거나 사용자 지정 스타일을 적용하여 정적 맵을 사용하면 특정 요구 사항을 충족하는 맵 시각화를 생성하여 최종 사용자 경험을 개선하고 지리적 정보를 효과적으로 전달할 수 있습니다. 서버는 요청된 맵 이미지를 사용자 지정하고 클라이언트에 JPEG 파일로 전송합니다. 프로그래밍 방식으로 특정 요구 사항에 맞는 맵 이미지를 요청하고 생성할 수 있습니다.

*GetStaticMap API*는 중앙 좌표, 경계 상자 또는 오버레이와 같은 지정된 파라미터를 기반으로 맵의 정적 이미지를 생성합니다. API를 사용하면 맵 기능과 스타일을 사용자 지정할 수 있으므로 대화형 맵 기능 없이 웹 또는 모바일 애플리케이션에서 사용할 수 있습니다.

자세한 내용은 *Amazon Location Service API 참조*의 [GetStaticMap](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetStaticMap.html) 섹션을 참조하세요.

이 API에 대한 요청, 응답, cURL 및 CLI 명령의 예는 [정적 맵](https://docs.aws.amazon.com/location/latest/developerguide/static-maps-how-to.html)을 사용하는 방법을 참조하세요.

## 일반 사용 사례
<a name="static-maps-use-cases"></a>
+ **웹 또는 모바일 애플리케이션의 임베디드 맵:** 정적 맵 이미지를 웹 사이트 또는 모바일 애플리케이션에 효율적으로 내장하여 비대화형 맵으로 위치, 경로 또는 관심 지점을 시각화하여 로드 시간과 데이터 사용량을 줄일 수 있습니다. 예를 들어, POI에 대한 검색 결과와 함께 지도 이미지를 보여주는 검색 엔진(예: Yahoo)이 있습니다.
+ **이메일의 위치 세부 정보:** 정적 맵 이미지를 사용하여 최종 사용자가 이메일의 컨텍스트를 이해하는 데 도움이 되도록 이메일을 통해 위치 정보를 공유할 수 있습니다. 예를 들어 음식 배달 또는 차량 공유 앱은 정적 맵 이미지를 사용하여 운송 후 이메일 또는 청구서와 요약이 포함된 배달 이메일에 픽업/반납 위치, 경로 또는 주변 영역을 표시합니다.
+ **마케팅 자료 및 인쇄된 문서:** 사용자 지정된 정적 맵 이미지를 브로슈어, 전단지 또는 기타 인쇄된 자료에 통합하여 콘텐츠와 관련된 지리적 정보를 시각적으로 매력적인 방식으로 표현할 수 있습니다.

## 요청 이해
<a name="static-maps-understanding-request"></a>

요청에는 특히 맵의 가시 영역 및 오버레이를 정의하기 위한 `BoundedPositions`, `BoundingBox`, `Center`와 같은 선택적 URI 파라미터가 포함됩니다. 파라미터 `Height` 및 `Width`는 이미지 크기를 정의하는 데 필요합니다. 자세한 내용은 [정적 맵 사용자 지정](customizing-static-maps.md) 및 [정적 맵의 오버레이](overlaying-static-map.md) 섹션을 참조하세요.
+ `BoundedPositions`: 이미지에 포함할 좌표입니다.
+ `BoundingBox`: 맵의 남서부 및 북동부 엣지를 정의하는 좌표입니다.
+ `Height`: 이미지의 높이를 지정합니다.
+ `Width`: 이미지의 너비를 지정합니다.
+ `GeoJsonOverlay`: 오버레이를 추가하는 데 유효한 GeoJSON 객체입니다.

## 응답 이해
<a name="static-maps-understanding-response"></a>

응답에는 `CacheControl`, `ContentType`, `ETag`와 같은 헤더가 포함되어 있으며 정적 맵을 JPEG 또는 PNG 형식의 이진 BLOB으로 반환합니다. 헤더는 정적 이미지에 대한 캐시 제어, 콘텐츠 유형 및 버전과 같은 메타데이터를 제공합니다.
+ `CacheControl`: 맵 이미지에 대한 캐싱 구성을 지정합니다.
+ `ContentType`: 맵 이미지의 형식을 나타냅니다(JPEG 또는 PNG).
+ `ETag`: 정적 맵 이미지 버전의 식별자입니다.
+ `Blob`: 맵 이미지를 JPEG 또는 PNG 형식으로 나타냅니다.

# 정적 맵 사용자 지정
<a name="customizing-static-maps"></a>

**참고**  
정적 맵은 위성 스타일만 지원합니다. 자세한 내용은 [AWS 맵 스타일 및 기능](map-styles.md) 단원을 참조하십시오.

이 섹션에서는 Amazon Location Service를 사용하여 생성된 정적 맵을 사용자 지정하는 방법에 대한 개요를 제공합니다. 맵의 위치, 크기, 언어, 규모, 오버레이 및 속성 조정과 같은 다양한 기능을 다루므로 특정 요구 사항에 맞게 맵을 조정할 수 있습니다.

자세한 내용은 *Amazon Location Service API 참조*의 [GetStaticMap](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetStaticMap.html) 섹션을 참조하세요.

## 위치
<a name="customizing-static-maps-position"></a>

위치를 사용하면 맵의 중심과 경계를 정의할 수 있습니다. 가운데 좌표, 경계 상자를 설정하거나 확대/축소 수준을 사용하여 표시할 영역을 결정하여 맵의 초점을 제어할 수 있습니다. 작동 방식에 대해 알아보려면 [특정 위치의 정적 맵을 가져오는 방법](get-static-map-specific-position.md) 섹션을 참조하세요.
+ `Center`: 경도 및 위도 좌표를 사용하여 맵의 중심점을 정의합니다.
+ `Radius`: 정적 맵에 표시될 반경(중심으로부터의 거리)을 지정합니다.
+ `Bounding Box`: 왼쪽 상단 및 오른쪽 하단 모서리의 좌표를 제공하여 맵의 직사각형 영역을 정의합니다.
+ `Zoom`: 맵의 확대/축소 수준을 제어합니다. 확대/축소 수준이 높을수록 더 작은 영역에서 더 많은 세부 정보가 표시되고, 확대/축소 수준이 낮을수록 더 큰 영역에서 더 적은 세부 정보가 표시됩니다.

## 차원 및 품질
<a name="customizing-static-maps-dimension-quality"></a>

차원(높이 및 너비)을 정의하고 마커 및 기타 요소를 더 잘 표현하기 위해 패딩을 추가하여 정적 맵의 크기와 시각적 품질을 사용자 지정할 수 있습니다. 작동 방식에 대해 알아보려면 [특정 차원의 정적 맵을 가져오는 방법](get-static-map-specific-dimension.md) 섹션을 참조하세요.
+ `Height and Width`: 높이와 너비를 픽셀 단위로 정의하여 정적 맵 이미지의 크기를 지정합니다.
+ `Padding`: 맵 가장자리 주위에 공간을 더 추가하여 마커, 선 또는 셰이프를 배치할 때 더욱 잘 시각화할 수 있습니다.

## 규모 조정
<a name="customizing-static-maps-scale"></a>

규모 조정은 맵의 크기를 제어하고 거리를 측정할 단위(킬로미터, 마일)를 정의합니다. 이는 맵의 크기 및 거리 관계를 정확하게 나타내는 데 유용합니다. 작동 방식에 대해 알아보려면 [정적 맵에 대한 스케일을 추가하는 방법](add-scale-static-map.md) 섹션을 참조하세요.
+ `Scale Unit`: 맵의 규모 조정 막대에 대한 단위(예: 킬로미터 또는 마일)를 정의하여 사용자가 맵에서 거리를 정확하게 측정할 수 있도록 합니다.

## 오버레이
<a name="customizing-static-maps-overlay"></a>

마커, 경로를 표시하는 선, 영역을 표시하는 다각형 등을 추가할 수 있습니다. 작동 방식에 대해 알아보려면 [정적 맵에 마커를 추가하는 방법](add-marker-static-map.md), [정적 맵에 선을 추가하는 방법](how-to-add-line-static.md) 또는 [정적 맵에 경로를 추가하는 방법](how-to-add-route.md) 섹션을 참조하세요.

# 정적 맵의 오버레이
<a name="overlaying-static-map"></a>

이 섹션에서는 Amazon Location Service를 사용하여 정적 맵에 추가 정보를 오버레이하는 방법을 설명합니다. 점, 선, 다각형과 같은 다양한 지리적 특성을 추가하여 정적 맵을 사용자 지정하여 맵의 시각적 표현을 개선할 수 있습니다. Amazon Location Service는 GeoJSON 및 소형 오버레이 형식을 비롯한 여러 형식을 지원하여 유연하고 효율적인 오버레이 추가 방법을 제공합니다.

자세한 내용은 *Amazon Location Service API 참조*의 [GetStaticMap](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetStaticMap.html) 섹션을 참조하세요.

## GeoJSON 사용
<a name="overlaying-static-map-geojson"></a>

GeoJSON은 정적 맵에 사용자 지정 데이터를 오버레이할 수 있는 다목적 형식입니다. 점, 선, 다각형과 같은 지리적 특성을 정의하면 맵의 시각적 표현을 개선하여 사용자에게 중요한 컨텍스트를 제공할 수 있습니다. GeoJSON은 널리 지원되며 맵 오버레이를 스타일 지정하고 사용자 지정할 때 유연성을 제공하므로 리전 표시, 경로 플로팅 또는 공간 관계 표시에 이상적인 형식입니다.

Amazon Location Service를 사용하면 GeoJSON을 활용하여 정적 맵에 직접 동적 위치 기반 기능을 추가할 수 있습니다. 이를 통해 특정 비즈니스 요구 사항에 맞게 조정할 수 있는 고도로 사용자 지정 가능한 오버레이를 생성할 수 있습니다. GeoJSON은 `Point`, `LineString`, `Polygon` 및 `MultiPolygon`을 비롯한 여러 지오메트리 유형을 지원하므로 마커 및 경로부터 복잡한 영역 표현에 이르기까지 다양한 기능을 표시할 수 있습니다.

## 색상
<a name="overlaying-static-map-geojson-colors"></a>

GeoJSON 기능을 스타일 지정할 때 색상을 유연하게 정의할 수 있습니다. 16진수 값(빨간색의 경우 \$1ff0000) 또는 알파 투명도(반투명 빨간색의 경우 \$1ff000080)와 같은 다양한 형식을 사용하여 색상을 지정할 수 있습니다. 이렇게 하면 오버레이가 맵 스타일과 시각적으로 일치할 수 있습니다. 색상을 지정하지 않으면 선택한 맵 스타일의 기본 색상이 적용됩니다.

## 그리기 순서
<a name="overlaying-static-map-drawing-order"></a>

사용자 지정 오버레이는 명확성을 유지하고 시각적 혼잡을 방지하기 위해 특정 순서로 그려집니다. Amazon Location Service에서는 다각형, 선 및 점과 같은 오버레이 기능이 기본 맵 위에 표시되지만 맵 레이블 아래에 표시됩니다. 그리기 순서는 다각형의 우선 순위를 먼저 지정한 다음, 선, 점 또는 마커를 차례로 지정합니다.

## 측정 단위
<a name="overlaying-static-map-measurement-units"></a>

`width` 및 `outline-width`와 같은 속성의 경우 다양한 측정 단위를 사용하여 픽셀(px), 미터(m), 킬로미터(km), 마일(mi) 및 백분율(%)을 포함한 크기를 지정할 수 있습니다. 백분율 단위는 기본값을 기준으로 속성을 조정하므로 오버레이를 보다 유연하게 스타일 지정할 수 있습니다.

## 지오메트리 유형
<a name="overlaying-static-map-geometry-types"></a>

Amazon Location Service는 `Point`, `LineString`, `Polygon` 및 `MultiPolygon`과 같은 여러 GeoJSON 지오메트리 유형을 지원합니다. GeoJSON의 속성 객체를 사용하여 각 지오메트리 유형을 스타일 지정하고 조정할 수 있으므로 맵의 마커, 경로 및 영역을 광범위하게 사용자 지정할 수 있습니다.

## 압축 오버레이 사용
<a name="overlaying-static-map-compact-overlay"></a>

**참고**  
소형 오버레이는 점, 선, 다각형 등의 지오메트리 유형을 지원합니다. `multiPoint`, `multiLine` 또는 `multiPolgyon`을 지원하지 않습니다.

압축 오버레이 옵션을 사용하면 단일 쿼리 파라미터를 사용하여 정적 맵에 여러 지오메트리를 효율적으로 표시할 수 있습니다. 이렇게 간소화된 접근 방식은 요청 형식을 간소화하고 요청 크기를 줄여 오버레이 데이터를 더 쉽게 전송할 수 있습니다. 고객은 쿼리 파라미터 하나에 다양한 지오메트리 유형과 해당 스타일 속성을 입력할 수 있으며, Amazon Location Service는 오버레이를 지정된 대로 구문 분석하고 렌더링하여 과도한 작업을 처리합니다.

압축 오버레이 형식을 사용하는 동안 요청 URL 크기에 제한이 있다는 점에 유의하세요. Amazon Location Service는 쿼리를 최적화하지만 특히 여러 지오메트리 및 관련 속성을 처리할 때 요청이 적절한 한도 내에 있는지 확인합니다.

## 형식
<a name="overlaying-static-map-compact-overlay-format"></a>

압축 오버레이 형식은 다음과 같이 구성됩니다. `geometry_type:geometry;property_1=value_1;property_2=value_2|geometry_type:geometry;property_1=value_1...` 

각 지오메트리 유형은 스타일 속성과 함께 정의됩니다. 여러 지오메트리는 파이프 연산자(\$1)로 구분되며 각 지오메트리의 속성은 세미콜론을 사용하여 구분됩니다.

## 지원되는 지오메트리 유형
<a name="overlaying-static-map-supported-geometry-types"></a>

Amazon Location Service는 `Point`, `MultiPoint`, `LineString`, `Polygon`, `MultiPolygon` 등 여러 지오메트리 유형을 지원합니다. 이러한 지오메트리 유형은 압축 오버레이 형식을 사용하여 동일한 쿼리 파라미터 내에서 결합하고 스타일을 지정할 수 있습니다.

## 스타일 속성
<a name="overlaying-static-map-styling-properties"></a>

색상, 윤곽선 색상, 크기 등과 같은 다양한 스타일 속성을 사용하여 각 지오메트리를 사용자 지정할 수 있습니다. 이러한 속성을 사용하면 맵에서 각 지오메트리의 모양을 제어하여 오버레이가 비즈니스 요구 사항에 부합하는지 확인할 수 있습니다.

# 방법
<a name="maps-how-to"></a>

이 섹션에는 맵 API 사용 방법을 안내하는 다양한 방법과 예제가 포함되어 있습니다.

**Topics**
+ [동적 맵을 사용하는 방법](dynamic-maps-how-to.md)
+ [정적 맵 사용 방법](static-maps-how-to.md)

# 동적 맵을 사용하는 방법
<a name="dynamic-maps-how-to"></a>

이 방법 주제에서는 Amazon Location Service를 사용하여 매핑 애플리케이션을 개선하는 방법을 안내하는 포괄적인 연습을 제공합니다. 대화형 맵 표시부터 마커, 선 및 다각형 추가에 이르기까지 이 자습서에서는 맵 제어 설정, 사용자 지정 아이콘 추가, 실시간 데이터 처리와 같은 필수 기능을 활용하는 방법을 보여줍니다. 또한 이 주제에서는 선호하는 언어 설정, 정치적 견해 조정, 사용자의 위치 또는 관점에 따라 맵 콘텐츠를 사용자 지정하여 지역 법률 준수 보장과 같은 현지화 및 국제화 측면도 다룹니다.

각 방법은 MapLibre GL JS를 사용하여 웹 애플리케이션에서 이러한 기능을 구현하기 위한 단계별 지침을 통해 액세스할 수 있도록 설계되었습니다. 사용자 지정 아이콘과 팝업을 사용하여 동적 맵 환경을 구축하는 것이 목표이든 또는 특정 정치적 관점과 언어에 맞게 맵 보기를 조정하는 것이 목표이든, 이 예제는 목표를 달성하는 동시에 다양한 리전의 사용자에게 풍부하고 현지화된 매핑 환경을 보장하는 데 도움이 됩니다. 이 자습서를 통해 기본 매핑 함수부터 복잡한 지정학적 요구 사항 및 현지화 요구 사항에 이르기까지 Amazon Location Service의 기능을 최대한 활용할 수 있습니다.

**Topics**
+ [맵을 표시하는 방법](how-to-display-a-map.md)
+ [맵에 컨트롤을 추가하는 방법](how-to-add-control-on-map.md)
+ [맵에 마커를 추가하는 방법](how-to-add-marker-on-map.md)
+ [맵에 아이콘을 추가하는 방법](how-to-add-icon-on-map.md)
+ [맵에 선을 추가하는 방법](how-to-add-line-on-map.md)
+ [맵에 다각형을 추가하는 방법](how-to-add-polygon-on-map.md)
+ [맵에 팝업을 추가하는 방법](how-to-add-popup-to-map.md)
+ [맵에 대한 기본 언어를 설정하는 방법](how-to-set-preferred-language-map.md)
+ [맵의 정치적 관점을 설정하는 방법](how-to-set-political-view-map.md)
+ [맵에서 POI를 필터링하는 방법](how-to-filter-poi-map.md)
+ [토포그래피 맵을 생성하는 방법](how-to-create-topographic-maps.md)
+ [맵에 실시간 트래픽을 표시하는 방법](how-to-set-real-time-traffic-map.md)
+ [물류 맵을 생성하는 방법](how-to-create-logistic-map.md)
+ [맵에 전송 세부 정보를 표시하는 방법](how-to-show-transit-details-map.md)
+ [3D 맵을 생성하는 방법](how-to-create-a-3d-map.md)

# 맵을 표시하는 방법
<a name="how-to-display-a-map"></a>

Amazon Location Service를 사용하면 맵 스타일을 사용하여 대화형 맵과 비대화형 맵을 모두 표시할 수 있습니다. 자세한 내용은 [AWS 맵 스타일 및 기능](map-styles.md) 섹션을 참조하세요.

## 대화형 맵
<a name="interactive-map"></a>

이 예제에서는 사용자가 확대/축소, 이동, 핀치 및 피치를 수행할 수 있는 대화형 맵을 표시합니다.

### 대화형 맵 코드 예제
<a name="interactive-map-web-code"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Display a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard"; // e.g., Standard, Monochrome, Hybrid, Satellite
            const awsRegion = "eu-central-1"; // e.g., us-east-2, us-east-1, us-west-2, etc.
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map', // container id
                style: styleUrl, // style URL
                center: [25.24, 36.31], // starting position [lng, lat]
                zoom: 2, // starting zoom
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## 영역 외부로 맵 이동 제한
<a name="restrict-map-panning"></a>

이 예제에서는 맵이 정의된 경계를 벗어나 이동되지 않도록 제한합니다.

### 맵 이동 제한 코드 예제
<a name="restrict-map-panning-web-code"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Display a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard"; // e.g., Standard, Monochrome, Hybrid, Satellite
            const awsRegion = "eu-central-1"; // e.g., us-east-2, us-east-1, us-west-2, etc.
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            var bounds = [
                [90.0, -21.943045533438166], // Southwest coordinates
                [146.25, 31.952162238024968] // Northeast coordinates
            ];

            const map = new maplibregl.Map({
                container: 'map', // container id
                style: styleUrl, // style URL
                maxBounds: bounds, // Sets bounds of SE Asia
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## 비대화형 맵
<a name="non-interactive-map"></a>

이 예제에서는 사용자 상호 작용을 비활성화하여 비대화형 맵을 표시합니다.

### 비대화형 맵 코드 예제
<a name="non-interactive-map-web-code"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Display a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard"; // e.g., Standard, Monochrome, Hybrid, Satellite
            const awsRegion = "eu-central-1"; // e.g., us-east-2, us-east-1, us-west-2, etc.
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map', // container id
                style: styleUrl, // style URL
                center: [25.24, 36.31], // starting position [lng, lat]
                zoom: 2, // starting zoom
                interactive: false, // Disable pan & zoom handlers
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

# 맵에 컨트롤을 추가하는 방법
<a name="how-to-add-control-on-map"></a>

Amazon Location Service를 사용하면 탐색, 지리적 위치, 전체 화면, 규모 조정 및 속성 컨트롤을 포함한 여러 컨트롤을 맵에 추가할 수 있습니다.
+ **탐색 컨트롤**: 확대/축소 버튼과 나침반이 포함되어 있습니다.
+ **지리적 위치 컨트롤**: 브라우저의 지리적 위치 API를 사용하여 맵에서 사용자를 찾는 버튼을 제공합니다.
+ **전체 화면 컨트롤**: 맵을 전체 화면 모드로 전환하거나 해제하는 버튼이 포함되어 있습니다.
+ **규모 조정 컨트롤**: 맵상의 거리와 지면상의 해당 거리의 비율을 표시합니다.
+ **속성 컨트롤**: 맵의 속성 정보를 제공합니다. 기본적으로 속성 컨트롤은 확장됩니다(맵 너비에 관계없음).

왼쪽 상단, 왼쪽 하단, 오른쪽 하단 또는 오른쪽 상단 등 맵의 모든 모서리에 컨트롤을 추가할 수 있습니다.

## 맵 컨트롤 추가
<a name="add-map-controls"></a>

다음 예제에서는 위에 나열된 맵 컨트롤을 추가합니다.

### 맵 컨트롤 코드 예제
<a name="web-code-example"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Map Controls</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard"; // e.g., Standard, Monochrome, Hybrid, Satellite
            const awsRegion = "eu-central-1"; // e.g., us-east-2, us-east-1, us-west-2, etc.
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map', // container id
                style: styleUrl, // style URL
                center: [-123.13203602550998, 49.28726257639254], // starting position [lng, lat]
                zoom: 10, // starting zoom
                attributionControl: false, // hide default attributionControl in bottom left
            });

            // Adding controls to the map
            map.addControl(new maplibregl.NavigationControl()); // Zoom and rotation controls
            map.addControl(new maplibregl.FullscreenControl()); // Fullscreen control
            map.addControl(new maplibregl.GeolocateControl()); // Geolocation control
            map.addControl(new maplibregl.AttributionControl(), 'bottom-left'); // Attribution in bottom-left
            map.addControl(new maplibregl.ScaleControl(), 'bottom-right'); // Scale control in bottom-right
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## 개발자 팁
<a name="developer-tips"></a>

### 탐색 컨트롤 옵션
<a name="navigationcontrol-options"></a>

```
new maplibregl.NavigationControl({ 
    showCompass: true, // show or hide compass (default: true)
    showZoom: true // show or hide zoom controls (default: true)
});
```

### 지리적 위치 컨트롤 옵션
<a name="geolocatecontrol-options"></a>

```
new maplibregl.GeolocateControl({ 
    positionOptions: { enableHighAccuracy: true }, // default: false
    trackUserLocation: true // default: false
});
```

### 속성 컨트롤 옵션
<a name="attributioncontrol-options"></a>

```
new maplibregl.AttributionControl({
    compact: true, // compact (collapsed) mode (default: false)
});
```

### 규모 조정 컨트롤 옵션
<a name="scalecontrol-options"></a>

```
new maplibregl.ScaleControl({ 
    maxWidth: 100, // width of the scale (default: 50)
    unit: 'imperial' // imperial or metric (default: metric)
});
```

### 전체 화면 컨트롤 옵션
<a name="fullscreencontrol-options"></a>

```
map.addControl(new maplibregl.FullscreenControl({
    container: document.querySelector('body') // container for fullscreen mode
}));
```

# 맵에 마커를 추가하는 방법
<a name="how-to-add-marker-on-map"></a>

Amazon Location을 사용하면 고정 마커와 끌기 가능한 마커를 모두 추가할 수 있으며 데이터 및 기본 설정에 따라 마커의 색상을 사용자 지정할 수도 있습니다.

## 고정 마커 추가
<a name="add-marker"></a>

### 고정 마커 코드 예제
<a name="web-code-example-fixed-marker"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Add marker on a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard";  // e.g., Standard, Monochrome, Hybrid, Satellite  
            const awsRegion = "eu-central-1"; // e.g., us-east-2, us-east-1, us-west-2, etc.
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map', // container id
                style: styleUrl, // style URL
                center: [0, 0], // starting position [lng, lat]
                zoom: 1, // starting zoom
            });

            const marker = new maplibregl.Marker() // Create fixed marker
                .setLngLat([85.1376, 25.5941]) // Set coordinates [long, lat] for marker (e.g., Patna, BR, IN)
                .addTo(map); // Add marker to the map
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## 끌기 가능한 마커 추가
<a name="add-draggable-marker"></a>

### 끌기 가능한 마커 코드 예제
<a name="web-code-example-draggable-marker"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Add draggable marker on a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard";  // e.g., Standard, Monochrome, Hybrid, Satellite  
            const awsRegion = "eu-central-1"; // e.g., us-east-2, us-east-1, us-west-2, etc.
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map', // container id
                style: styleUrl, // style URL
                center: [0, 0], // starting position [lng, lat]
                zoom: 1, // starting zoom
            });

            const marker = new maplibregl.Marker({ draggable: true }) // Create draggable marker
                .setLngLat([85.1376, 25.5941]) // Set coordinates [long, lat] for marker (e.g., Patna, BR, IN)
                .addTo(map); // Add marker to the map
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## 마커 색상 변경
<a name="change-marker-color"></a>

### 다양한 색상의 마커 코드 예제
<a name="web-code-example-change-marker-color"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Adding colorful marker on a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Monochrome";  // e.g., Standard, Monochrome, Hybrid, Satellite  
            const awsRegion = "eu-central-1"; // e.g., us-east-2, us-east-1, us-west-2, etc.
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map', // container id
                style: styleUrl, // style URL
                center: [0, 0], // starting position [lng, lat]
                zoom: 1, // starting zoom
            });

            const marker = new maplibregl.Marker({ color: "black" }) // Create colored marker
                .setLngLat([85.1376, 25.5941]) // Set coordinates [long, lat] for marker (e.g., Patna, BR, IN)
                .addTo(map); // Add marker to the map
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## 여러 마커 추가
<a name="add-multiple-markers"></a>

### 다중 마커 코드 예제
<a name="web-code-example-multiple-markers"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Adding multiple markers on a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard";  // e.g., Standard, Monochrome, Hybrid, Satellite  
            const awsRegion = "eu-central-1"; // e.g., us-east-2, us-east-1, us-west-2, etc.
            const colorScheme ="Dark"; // e.g., Dark, Light (default)
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?color-scheme=${colorScheme}&key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map', // container id
                style: styleUrl, // style URL
                center: [0, 0], // starting position [lng, lat]
                zoom: 1, // starting zoom
            });

            const locations = [
                { lng: 85.1376, lat: 25.5941, label: 'Patna', color: '#FF5722' }, 
                { lng: 77.1025, lat: 28.7041, label: 'Delhi', color: '#2196F3' }, 
                { lng: 77.5946, lat: 12.9716, label: 'Bangalore', color: '#FF9800' }, 
                { lng: 78.4867, lat: 17.3850, label: 'Hyderabad', color: '#9C27B0' }, 
                { lng: -87.6298, lat: 41.8781, label: 'Chicago', color: '#4CAF50' }, 
                { lng: -122.3321, lat: 47.6062, label: 'Seattle', color: '#FFC107' }, 
                { lng: 4.3517, lat: 50.8503, label: 'Brussels', color: '#3F51B5' },   
                { lng: 2.3522, lat: 48.8566, label: 'Paris', color: '#E91E63' },   
                { lng: -0.1276, lat: 51.5074, label: 'London', color: '#795548' },  
                { lng: 28.0473, lat: -26.2041, label: 'Johannesburg', color: '#673AB7' },  
                { lng: -123.1216, lat: 49.2827, label: 'Vancouver', color: '#FF5722' }, 
                { lng: -104.9903, lat: 39.7392, label: 'Denver', color: '#FF9800' }, 
                { lng: -97.7431, lat: 30.2672, label: 'Austin', color: '#3F51B5' }  
            ];

            // Loop through the locations array and add a marker for each one
            locations.forEach(location => {           
                const marker = new maplibregl.Marker({ color: location.color, draggable: true }) // Create colored marker
                    .setLngLat([location.lng, location.lat]) // Set longitude and latitude
                    .addTo(map); // Add marker to the map
            }); 
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

# 맵에 아이콘을 추가하는 방법
<a name="how-to-add-icon-on-map"></a>

Amazon Location Service를 사용하면 맵에 가급적이면 PNG 형식의 아이콘을 추가할 수 있습니다. 아이콘을 특정 지리적 위치에 추가하고 필요에 따라 스타일을 지정할 수 있습니다.

## 정적 아이콘 추가
<a name="add-static-icon"></a>

이 예제에서는 외부 URL을 사용해 기호 계층을 사용하여 맵에 아이콘을 추가합니다.

### 정적 아이콘 코드 예제
<a name="web-code-example-static-icon"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Static icon on map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard";  // e.g., Standard, Monochrome, Hybrid, Satellite  
            const awsRegion = "eu-central-1"; // e.g., us-east-2, us-east-1, us-west-2, etc.
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map', // container id
                style: styleUrl, // style URL
                center: [-123.1144289, 49.2806672], // starting position [lng, lat] (e.g., Vancouver)
                zoom: 12, // starting zoom
            });

            map.on('load', async () => {
                image = await map.loadImage('https://upload.wikimedia.org/wikipedia/commons/1/1e/Biking_other.png');
                map.addImage('biking', image.data);
                map.addSource('point', {
                    'type': 'geojson',
                    'data': {
                        'type': 'FeatureCollection',
                        'features': [
                            {
                                'type': 'Feature',
                                'geometry': {
                                    'type': 'Point',
                                    'coordinates': [-123.1144289, 49.2806672]
                                }
                            }
                        ]
                    }
                });
                map.addLayer({
                    'id': 'points',
                    'type': 'symbol',
                    'source': 'point',
                    'layout': {
                        'icon-image': 'biking',
                        'icon-size': 0.25
                    }
                });
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

# 맵에 선을 추가하는 방법
<a name="how-to-add-line-on-map"></a>

Amazon Location Service를 사용하면 사전 레코딩된 GPS 추적을 선-문자열로 추가하고 실시간 GPS 추적을 동적 맵에 추가할 수 있습니다.

## 사전 레코딩된 선 추가
<a name="add-pre-recorded-line"></a>

이 예제에서는 사전 레코딩된 GPS 추적을 동적 맵에 GeoJSON(main.js)으로 추가합니다. 이렇게 하려면 맵에 소스(예: GeoJSON)와 선택한 선 스타일이 있는 계층을 추가해야 합니다.

### 사전 레코딩된 선 코드 예제
<a name="web-code-example-pre-recorded-line"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Add a line on the map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
        <script src='main.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard";
            const awsRegion = "eu-central-1";
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map',
                style: styleUrl,
                center: [-123.126575, 49.290585],
                zoom: 12.5
            });

            map.on('load', () => {
                map.addSource('vancouver-office-to-stanley-park-route', {
                    type: 'geojson',
                    data: routeGeoJSON
                });

                map.addLayer({
                    id: 'vancouver-office-to-stanley-park-route',
                    type: 'line',
                    source: 'vancouver-office-to-stanley-park-route',
                    layout: {
                        'line-cap': 'round',
                        'line-join': 'round'
                    },
                    paint: {
                        'line-color': '#008296',
                        'line-width': 2
                    }
                });
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------
#### [ main.js ]

```
const routeGeoJSON = {
    type: "FeatureCollection",
    features: [
        {
            type: "Feature",
            geometry: {
                type: "LineString",
                coordinates: [
                    [-123.117011, 49.281306],
                    [-123.11785, 49.28011],
                    ...
                    [-123.135735, 49.30106]
                ]
            },
            properties: {
                name: "Amazon YVR to Stanley Park",
                description: "An evening walk from Amazon office to Stanley Park."
            }
        }
    ]
};
```

------

## 실시간으로 선 추가
<a name="add-real-time-line"></a>

이 예제에서는 새 GPS 좌표를 하나씩 추가하여 실시간 GPS 추적을 생성하는 방법을 시뮬레이션합니다. 실시간 데이터 업데이트를 추적하는 데 유용합니다.

### 실시간 선 코드 예제
<a name="web-code-example-real-time-line"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Add a line on the map in real-time</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
        <script src='main.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard";
            const awsRegion = "eu-central-1";
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map',
                style: styleUrl,
                center: [-123.126575, 49.290585],
                zoom: 12.5
            });

            map.on('load', () => {
                const coordinates = routeGeoJSON.features[0].geometry.coordinates;
                routeGeoJSON.features[0].geometry.coordinates = [coordinates[0], coordinates[20]];

                map.addSource('vancouver-office-to-stanley-park-route', {
                    type: 'geojson',
                    data: routeGeoJSON
                });

                map.addLayer({
                    id: 'vancouver-office-to-stanley-park-route',
                    type: 'line',
                    source: 'vancouver-office-to-stanley-park-route',
                    layout: {
                        'line-cap': 'round',
                        'line-join': 'round'
                    },
                    paint: {
                        'line-color': '#008296',
                        'line-width': 2
                    }
                });

                map.jumpTo({center: coordinates[0], zoom: 14});
                map.setPitch(30);

                let i = 0;
                const timer = window.setInterval(() => {
                    if (i < coordinates.length) {
                        routeGeoJSON.features[0].geometry.coordinates.push(coordinates[i]);
                        map.getSource('vancouver-office-to-stanley-park-route').setData(routeGeoJSON);
                        map.panTo(coordinates[i]);
                        i++;
                    } else {
                        window.clearInterval(timer);
                    }
                }, 100);
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------
#### [ main.js ]

```
const routeGeoJSON = {
    type: "FeatureCollection",
    features: [
        {
            type: "Feature",
            geometry: {
                type: "LineString",
                coordinates: [
                    [-123.117011, 49.281306],
                    [-123.11785, 49.28011],
                    ...
                    [-123.135735, 49.30106]
                ]
            },
            properties: {
                name: "Amazon YVR to Stanley Park",
                description: "An evening walk from Amazon office to Stanley Park."
            }
        }
    ]
};
```

------

## 개발자 팁
<a name="developer-tips"></a>

**범위 맞춤:** 선 좌표의 범위를 계산하여 맵 범위에 선을 맞출 수 있습니다.

```
const coordinates = routeGeoJSON.features[0].geometry.coordinates;
const bounds = coordinates.reduce((bounds, coord) => bounds.extend(coord), new maplibregl.LngLatBounds(coordinates[0], coordinates[0]));
map.fitBounds(bounds, { padding: 20 });
```

# 맵에 다각형을 추가하는 방법
<a name="how-to-add-polygon-on-map"></a>

Amazon Location Service를 사용하면 맵에 다각형을 추가할 수 있습니다. 채우기 및 테두리 스타일 추가를 포함하여 비즈니스 요구 사항에 따라 다각형의 스타일을 지정할 수 있습니다.

## 다각형 추가
<a name="add-polygon"></a>

이 예제에서는 맵에 다각형을 추가하고 채우기 색상과 테두리로 스타일을 지정합니다.

### 다각형 코드 예제
<a name="web-code-example-polygon"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Overlay a Polygon on a Map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
        <script src='main.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard";
            const awsRegion = "eu-central-1";
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map',
                style: styleUrl,
                center: [-123.13203602550998, 49.28726257639254],
                zoom: 16
            });

            map.on('load', () => {
                map.addSource('barclayHeritageSquare', {
                    type: 'geojson',
                    data: barclayHeritageSquare
                });

                map.addLayer({
                    id: 'barclayHeritageSquare-fill',
                    type: 'fill',
                    source: 'barclayHeritageSquare',
                    layout: {},
                    paint: {
                        'fill-color': '#008296',
                        'fill-opacity': 0.25
                    }
                });

                map.addLayer({
                    id: 'barclayHeritageSquare-outline',
                    type: 'line',
                    source: 'barclayHeritageSquare',
                    layout: {},
                    paint: {
                        'line-color': '#008296',
                        'line-width': 2
                    }
                });
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------
#### [ main.js ]

```
const barclayHeritageSquare = {
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "properties": {
                "park_id": 200,
                "park_name": "Barclay Heritage Square",
                "area_ha": 0.63255076039675,
                "park_url": "http://covapp.vancouver.ca/parkfinder/parkdetail.aspx?inparkid=200"
            },
            "geometry": {
                "type": "MultiPolygon",
                "coordinates": [
                    [
                        [-123.1320948511985, 49.287379401361406],
                        [-123.13179672786798, 49.2871908081159],
                        [-123.13148154587924, 49.28739992437733],
                        [-123.1313830551372, 49.28733617069321],
                        [-123.13118648745055, 49.287208851500054],
                        [-123.13128257706838, 49.28714532642171],
                        [-123.13147941881572, 49.28727228533418],
                        ...
                        [-123.13177619357138, 49.28759081706052],
                        [-123.1320948511985, 49.287379401361406]
                    ]
                ]
            }
        }
    ]
};
```

------

# 맵에 팝업을 추가하는 방법
<a name="how-to-add-popup-to-map"></a>

Amazon Location Service를 사용하면 맵에 팝업을 추가할 수 있습니다. 단순한 팝업, 마커의 클릭 트리거 팝업, 커서로 가리키기 트리거 팝업 및 여러 마커에 대한 팝업을 추가할 수 있습니다.

## 첫 번째 팝업 추가
<a name="add-first-popup"></a>

이 예제에서는 첫 번째 팝업을 추가합니다.

### 첫 번째 팝업 코드 예제
<a name="first-popup-web"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Display a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard";
            const awsRegion = "eu-central-1";
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map',
                style: styleUrl,
                center: [-96, 37.8],
                zoom: 2
            });

            const popup = new maplibregl.Popup({closeOnClick: false})
                .setLngLat([-96, 37.8])
                .setHTML('<h1>Hello USA!</h1>')
                .addTo(map);
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## 마커 클릭 시 팝업 표시
<a name="show-popup-on-click"></a>

이 예제에서는 마커에 팝업을 연결하고 클릭 시 표시합니다.

### 마커 클릭 팝업 예제
<a name="click-popup-web"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Display a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard";
            const awsRegion = "eu-central-1";
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const centralpark_nyc = [-73.966,40.781];
            const map = new maplibregl.Map({
                container: 'map',
                style: styleUrl,
                center: centralpark_nyc,
                zoom: 13
            });

            const popup = new maplibregl.Popup({offset: 25}).setText(
                'Central Park, NY is one of the most filmed locations in the world, appearing in over 240 feature films since 1908.'
            );

            new maplibregl.Marker()
                .setLngLat(centralpark_nyc)
                .setPopup(popup)
                .addTo(map);
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## 마커 위로 마우스를 가져가면 팝업 표시
<a name="show-popup-on-hover"></a>

이 예제에서는 마커에 팝업을 연결하고 마우스를 이동하면 표시합니다.

### 마커 가리키기 팝업 예제
<a name="hover-popup-web"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Display a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard";
            const awsRegion = "eu-central-1";
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const centralpark_nyc = [-73.966,40.781];
            const map = new maplibregl.Map({
                container: 'map',
                style: styleUrl,
                center: centralpark_nyc,
                zoom: 13
            });

            const marker = new maplibregl.Marker().setLngLat([-73.968285, 40.785091]).addTo(map);
            const popup = new maplibregl.Popup({ offset: 25 })
                .setHTML("<h3>Central Park</h3><p>Welcome to Central Park, NYC!</p>");

            const markerElement = marker.getElement();
            markerElement.addEventListener('mouseenter', () => {
                popup.setLngLat([-73.968285, 40.785091]).addTo(map);
            });
            markerElement.addEventListener('mouseleave', () => {
                popup.remove();
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## 여러 마커에서 클릭 시 팝업 표시
<a name="popup-on-multiple-markers"></a>

이 예제에서는 팝업을 여러 마커에 연결하고 클릭 시 표시합니다.

### 여러 마커에서 클릭 시 팝업 예제
<a name="popup-on-multiple-markers-code"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Display a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "Your API Key";
            const mapStyle = "Monochrome";  
            const awsRegion = "eu-central-1";
            const colorScheme ="Light";
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?color-scheme=${colorScheme}&key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map', 
                style: styleUrl, 
                center: [-123.126979, 49.2841563],
                zoom: 15,
                minZoom: 13,
                maxZoom: 17
            });

            const locations = [
                { id: 1, lat: 49.281108, lng: -123.117049, name: "Amazon - YVR11 office" },
                { id: 2, lat: 49.285580, lng: -123.115806, name: "Amazon - YVR20 office" },
                { id: 3, lat: 49.281661, lng: -123.114174, name: "Amazon - YVR14 office" },
                { id: 4, lat: 49.280663, lng: -123.114379, name: "Amazon - YVR26 office" },
                { id: 5, lat: 49.285343, lng: -123.129119, name: "Amazon - YVR25 office" }
            ];

            const geojson = {
                type: "FeatureCollection",
                features: locations.map(location => ({
                    type: "Feature",
                    properties: { id: location.id, name: location.name },
                    geometry: {
                        type: "Point",
                        coordinates: [location.lng, location.lat]
                    }
                }))
            };
            
            map.on('load', async () => {
                try {
                    const image = await loadImage('https://upload.wikimedia.org/wikipedia/commons/thumb/9/93/Amazon_Web_Services_Logo.svg/1200px-Amazon_Web_Services_Logo.svg.png');
                    map.addImage('aws', image);

                    map.addSource('places', { type: 'geojson', data: geojson });

                    map.addLayer({
                        'id': 'places',
                        'type': 'symbol',
                        'source': 'places',
                        'layout': {
                            'icon-image': 'aws',
                            'icon-size': 0.025,
                            'icon-allow-overlap': true
                        }
                    });

                    const popup = new maplibregl.Popup({ closeButton: false, closeOnClick: false });

                    map.on('click', 'places', (e) => {
                        map.getCanvas().style.cursor = 'pointer';
                        const coordinates = e.features[0].geometry.coordinates.slice();
                        const name = e.features[0].properties.name;
                        popup.setLngLat(coordinates).setHTML(name).addTo(map);
                    });

                    map.on('mouseleave', 'places', () => {
                        map.getCanvas().style.cursor = '';
                        popup.remove();
                    });
                } catch (error) {
                    console.error('Error loading image:', error);
                }
            });

            async function loadImage(url) {
                return new Promise((resolve, reject) => {
                    const img = new Image();
                    img.crossOrigin = 'anonymous';
                    img.onload = () => resolve(img);
                    img.onerror = (error) => reject(error);
                    img.src = url;
                });
            }
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## 여러 마커 위로 마우스를 가져가면 팝업 표시
<a name="popup-on-hover-multiple-markers"></a>

이 예제에서는 팝업을 여러 마커에 연결하고 마우스를 이동하면 표시합니다.

### 여러 마커 위로 마우스 이동 시 팝업 예제
<a name="popup-on-hover-multiple-markers-code"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Display a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container --> 
        <div id="map" style="width: 100%; height: 100vh;"></div>
        <script>
            const apiKey = "You API Key";
            const mapStyle = "Monochrome";  // eg. Standard, Monochrome, Hybrid, Satellite  
            const awsRegion = "eu-central-1"; // eg. us-east-2, us-east-1, etc.
            const colorScheme ="Light"; // eg Dark, Light (default)
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?color-scheme=${colorScheme}&key=${apiKey}`;

            // Initialize the map
            const map = new maplibregl.Map({
                container: 'map', // Container id
                style: styleUrl, // Style URL
                center: [-123.126979, 49.2841563], // Starting position [lng, lat]
                zoom: 15, // Starting zoom
                minZoom: 13, // Minimum zoom level
                maxZoom: 17 // Maximum zoom level
            });

            const locations = [
                { id: 1, lat: 49.281108, lng: -123.117049, name: "Amazon - YVR11 office" },
                { id: 2, lat: 49.285580, lng: -123.115806, name: "Amazon - YVR20 office" },
                { id: 3, lat: 49.281661, lng: -123.114174, name: "Amazon - YVR14 office" },
                { id: 4, lat: 49.280663, lng: -123.114379, name: "Amazon - YVR26 office" },
                { id: 5, lat: 49.285343, lng: -123.129119, name: "Amazon - YVR25 office" }
            ];

            // Convert locations to GeoJSON
            const geojson = {
                type: "FeatureCollection",
                features: locations.map(location => ({
                    type: "Feature",
                    properties: { 
                        id: location.id,
                        name: location.name // Use the name property for popup
                    },
                    geometry: {
                        type: "Point",
                        coordinates: [location.lng, location.lat] // GeoJSON uses [lng, lat]
                    }
                }))
            };
            
            // Add the GeoJSON source and layers when the map loads
            map.on('load', async () => {
                try {
                    // Load the PNG image for the marker
                    const image = await loadImage('https://upload.wikimedia.org/wikipedia/commons/thumb/9/93/Amazon_Web_Services_Logo.svg/1200px-Amazon_Web_Services_Logo.svg.png'); // Ensure this URL points to a valid PNG
                    map.addImage('aws', image);

                    // Add a GeoJSON source
                    map.addSource('places', {
                        type: 'geojson',
                        data: geojson
                    });

                    // Add a layer showing the places with custom icons
                    map.addLayer({
                        'id': 'places',
                        'type': 'symbol',
                        'source': 'places',
                        'layout': {
                            'icon-image': 'aws',
                            'icon-size': 0.025, // Adjust as needed
                            'icon-allow-overlap': true // Allow icons to overlap
                        }
                    });

                    // Create a popup
                    const popup = new maplibregl.Popup({
                        closeButton: false,
                        closeOnClick: false
                    });

                    // Event handlers for mouse enter and leave
                    map.on('mouseenter', 'places', (e) => {
                        map.getCanvas().style.cursor = 'pointer';
                        const coordinates = e.features[0].geometry.coordinates.slice();
                        const name = e.features[0].properties.name;

                        // Set popup content and position
                        popup.setLngLat(coordinates).setHTML(name).addTo(map);
                    });

                    map.on('mouseleave', 'places', () => {
                        map.getCanvas().style.cursor = '';
                        popup.remove();
                    });
                } catch (error) {
                    console.error('Error loading image:', error);
                }
            });

            // Helper function to load the image
            async function loadImage(url) {
                return new Promise((resolve, reject) => {
                    const img = new Image();
                    img.crossOrigin = 'anonymous'; // Enable CORS
                    img.onload = () => resolve(img);
                    img.onerror = (error) => reject(error);
                    img.src = url;
                });
            }
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; } 
html, body, #map { height: 100%; }
```

------

# 맵에 대한 기본 언어를 설정하는 방법
<a name="how-to-set-preferred-language-map"></a>

Amazon Location Service를 사용하면 특정 언어에 대한 스타일 설명자를 업데이트하여 클라이언트 측에서 기본 언어를 설정할 수 있습니다. 기본 언어를 설정하고 포함된 콘텐츠를 해당 언어로 표시할 수 있습니다. 그렇지 않으면 다른 언어로 대체됩니다.

**참고**  
자세한 내용은 [현지화 및 국제화](maps-localization-internationalization.md) 단원을 참조하십시오.

## 기본 언어를 일본어로 설정하고 일본 맵 표시
<a name="set-preferred-language-japanese"></a>

이 예제에서는 일본어(ja)로 맵 레이블을 표시하도록 업데이트 스타일을 설정합니다.

### 기본 언어를 일본어로 설정 예제
<a name="set-preferred-language-japanese-example"></a>

------
#### [ index.html ]

```
<html>
<head>
    <link href="https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css" rel="stylesheet" />
    <script src="https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js"></script>
    <link href="style.css" rel="stylesheet" />
    <script src="main.js"></script>
</head>
<body>
    <div id="map" />
    <script>
        const apiKey = "Add Your Api Key";
        const mapStyle = "Standard";
        const awsRegion = "eu-central-1";
        const initialLocation = [139.76694, 35.68085]; //Japan   
        
        async function initializeMap() {
            // get updated style object for preferred language. 
            const styleObject = await getStyleWithPreferredLanguage("ja");
            // Initialize the MapLibre map with the fetched style object
            const map = new maplibregl.Map({
                container: 'map',
                style: styleObject,
                center: initialLocation,
                zoom: 15,
                hash:true,
            });
            map.addControl(new maplibregl.NavigationControl(), "top-left");
        
            return map; 
        }
  
        initializeMap();
    </script>
</body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; }
#map { height: 100vh; }
```

------
#### [ main.js ]

```
async function getStyleWithPreferredLanguage(preferredLanguage) {
    const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

    return fetch(styleUrl)
        .then(response => {
            if (!response.ok) {
                throw new Error('Network response was not ok ' + response.statusText);
            }
            return response.json();
        })
        .then(styleObject => {
            if (preferredLanguage !== "en") {
                styleObject = setPreferredLanguage(styleObject, preferredLanguage);
            }

            return styleObject;
        })
        .catch(error => {
            console.error('Error fetching style:', error);
        });
}

const setPreferredLanguage = (style, language) => {
    let nextStyle = { ...style };

    nextStyle.layers = nextStyle.layers.map(l => {
        if (l.type !== 'symbol' || !l?.layout?.['text-field']) return l;
        return updateLayer(l, /^name:([A-Za-z\-\_]+)$/g, `name:${language}`);
    });

    return nextStyle;
};

const updateLayer = (layer, prevPropertyRegex, nextProperty) => {
    const nextLayer = {
        ...layer,
        layout: {
            ...layer.layout,
            'text-field': recurseExpression(
                layer.layout['text-field'],
                prevPropertyRegex,
                nextProperty
            )
        }
    };
    return nextLayer;
};

const recurseExpression = (exp, prevPropertyRegex, nextProperty) => {
    if (!Array.isArray(exp)) return exp;
    if (exp[0] !== 'coalesce') return exp.map(v =>
        recurseExpression(v, prevPropertyRegex, nextProperty)
    );

    const first = exp[1];
    const second = exp[2];

    let isMatch =
    Array.isArray(first) &&
    first[0] === 'get' &&
    !!first[1].match(prevPropertyRegex)?.[0];

    isMatch = isMatch && Array.isArray(second) && second[0] === 'get';
    isMatch = isMatch && !exp?.[4];

    if (!isMatch) return exp.map(v =>
        recurseExpression(v, prevPropertyRegex, nextProperty)
    );

    return [
        'coalesce',
        ['get', nextProperty],
        ['get', 'name:en'],
        ['get', 'name']
    ];
};
```

------

## 최종 사용자의 브라우저 언어를 기반으로 기본 언어 설정
<a name="set-preferred-language-browser"></a>

이 예제에서는 사용자의 디바이스 언어로 맵 레이블을 표시하도록 업데이트 스타일을 설정합니다.

### 브라우저 언어를 기반으로 기본 언어 설정 예제
<a name="set-preferred-language-browser-code"></a>

------
#### [ index.html ]

```
<html>
<head>
    <link href="https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css" rel="stylesheet" />
    <script src="https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js"></script>
    <link href="style.css" rel="stylesheet" />
    <script src="main.js"></script>
</head>
<body>
    <div id="map" />
    <script>
        const apiKey = "Add Your Api Key";
        const mapStyle = "Standard";
        const awsRegion = "eu-central-1";
        const initialLocation = [139.76694, 35.68085]; //Japan     
        const userLanguage = navigator.language || navigator.userLanguage;
        const languageCode = userLanguage.split('-')[0];

        async function initializeMap() {
             const styleObject = await getStyleWithPreferredLanguage(languageCode);
             const map = new maplibregl.Map({
                 container: 'map',
                 style: styleObject,
                 center: initialLocation,
                 zoom: 15,
                 hash:true,
             });
             map.addControl(new maplibregl.NavigationControl(), "top-left");
             return map; 
        }

        initializeMap();
    </script>
</body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; }
#map { height: 100vh; }
```

------
#### [ main.js ]

```
async function getStyleWithPreferredLanguage(preferredLanguage) {
    const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

    return fetch(styleUrl)
        .then(response => {
            if (!response.ok) {
                throw new Error('Network response was not ok ' + response.statusText);
            }
            return response.json();
        })
        .then(styleObject => {
            if (preferredLanguage !== "en") {
                styleObject = setPreferredLanguage(styleObject, preferredLanguage);
            }

            return styleObject;
        })
        .catch(error => {
            console.error('Error fetching style:', error);
        });
}

const setPreferredLanguage = (style, language) => {
    let nextStyle = { ...style };

    nextStyle.layers = nextStyle.layers.map(l => {
        if (l.type !== 'symbol' || !l?.layout?.['text-field']) return l;
        return updateLayer(l, /^name:([A-Za-z\-\_]+)$/g, `name:${language}`);
    });

    return nextStyle;
};

const updateLayer = (layer, prevPropertyRegex, nextProperty) => {
    const nextLayer = {
        ...layer,
        layout: {
            ...layer.layout,
            'text-field': recurseExpression(
                layer.layout['text-field'],
                prevPropertyRegex,
                nextProperty
            )
        }
    };
    return nextLayer;
};

const recurseExpression = (exp, prevPropertyRegex, nextProperty) => {
    if (!Array.isArray(exp)) return exp;
    if (exp[0] !== 'coalesce') return exp.map(v =>
        recurseExpression(v, prevPropertyRegex, nextProperty)
    );

    const first = exp[1];
    const second = exp[2];

    let isMatch =
    Array.isArray(first) &&
    first[0] === 'get' &&
    !!first[1].match(prevPropertyRegex)?.[0];

    isMatch = isMatch && Array.isArray(second) && second[0] === 'get';
    isMatch = isMatch && !exp?.[4];

    if (!isMatch) return exp.map(v =>
        recurseExpression(v, prevPropertyRegex, nextProperty)
    );

    return [
        'coalesce',
        ['get', nextProperty],
        ['get', 'name:en'],
        ['get', 'name']
    ];
};
```

------

# 맵의 정치적 관점을 설정하는 방법
<a name="how-to-set-political-view-map"></a>

Amazon Location Service를 사용하면 정치적 관점을 설정하여 애플리케이션이 현지 법률을 준수하도록 할 수 있습니다. 정치적 관점을 설정하고 다양한 정치적 관점에서 맵을 비교할 수 있습니다.

**참고**  
자세한 내용은 [현지화 및 국제화](maps-localization-internationalization.md) 단원을 참조하십시오.

## 정치적 관점 설정 및 국제적 관점과 비교
<a name="set-political-view"></a>

이 예제에서는 국제적 관점과 키프로스에 대한 터키의 관점이라는 두 가지 정치적 관점에서 맵을 생성하고 비교합니다.

### 정치적 관점 비교 예제
<a name="set-political-view-compare-code"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Display a map</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
        <script src="https://unpkg.com/@mapbox/mapbox-gl-sync-move@0.3.1"></script>
        <script src='main.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div class="maps">
        <div id="internationalView"></div>
        <div id="turkeyView"></div>
        </div>
        <script>

            const apiKey = "Add Your Api Key";
            const mapStyle = "Standard";
            const awsRegion = "eu-central-1";

            // International perspective without political-view query parameter
            const internationalViewMapStyleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            // Turkey perspective with political-view query parameter
            const turkeyViewMapStyleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?political-view=TUR&key=${apiKey}`;

            const internationalViewMap = new maplibregl.Map({
                container: 'internationalView', // container id
                style: internationalViewMapStyleUrl, // style URL
                center: [33.0714561, 35.1052139], // starting position [lng, lat]
                zoom: 7.5,
                validateStyle: false, // Disable style validation for faster map load
            });

            const turkeyViewMap = new maplibregl.Map({
                container: 'turkeyView', // container id
                style: turkeyViewMapStyleUrl, // style URL
                center: [33.0714561, 35.1052139],
                zoom: 7.5,
                validateStyle: false, // Disable style validation for faster map load
            });

            // Sync map zoom and center
            syncMaps(internationalViewMap, turkeyViewMap);

            // Informational popup for international view
            new maplibregl.Popup({closeOnClick: false})
                .setLngLat([33, 35.5])
                .setHTML('<h4>International view <br> recognizes <br> Cyprus</h4>')
                .addTo(internationalViewMap);

            // Informational popup for Turkey's view
            new maplibregl.Popup({closeOnClick: false})
                .setLngLat([33, 35.5])
                .setHTML('<h4>Turkey does not <br> recognize <br> Cyprus</h4>')
                .addTo(turkeyViewMap);
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body { height: 100%; }
#internationalView, #turkeyView { height: 100%; width: 100%; }
.maps {
    display: flex;
    width: 100%;
    height: 100%;
}
```

------

# 맵에서 POI를 필터링하는 방법
<a name="how-to-filter-poi-map"></a>

Amazon Location Service를 사용하면 사용 사례와 관련된 POI(point-of-interest) 범주를 선택할 수 있습니다. 표준 맵 스타일인 [Rich POI](https://docs.aws.amazon.com/location/latest/developerguide/standard-map-style.html#rich-poi)에 대해 자세히 알아보기 

## POI 필터링
<a name="test-collapse-me"></a>

이 예제에서는 사용자가 POI 범주를 필터링할 수 있는 대화형 맵을 표시합니다.

------
#### [ Index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>POI demo</title>
        <meta property="og:description" content="" />
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <link rel="stylesheet" href="https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css" />
        <link rel='stylesheet' href='style.css' />
        <script src="https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js"></script>

    </head>
    <body>

        <div id="map"></div>
        <ul id="buttons"></ul>
        <script>
            // -------------------------------------------------------------------------------------------
            // Function to set layer state
            // -------------------------------------------------------------------------------------------

            const initialLayerState = {
                Buildings: {
                    layers: ['poi_900_areas_buildings'],
                    visibility: 'visible'
                },
                'Business & Services': {
                    layers: ['poi_700_business_services'],
                    visibility: 'visible'
                },
                Shopping: { layers: ['poi_600_shopping'], visibility: 'visible' },
                'Leisure & Outdoors': {
                    layers: ['poi_550_leisure_outdoor'],
                    visibility: 'visible'
                },
                Facilities: { layers: ['poi_800_facilities'], visibility: 'visible' },
                Transit: { layers: ['poi_400_transit'], visibility: 'visible' },
                'Sights & Museums': {
                    layers: ['poi_300_sights_museums'],
                    visibility: 'visible'
                },
                'Food & Drink': {
                    layers: ['poi_100_food_drink'],
                    visibility: 'visible'
                },
                'Going Out & Entertainment': {
                    layers: ['poi_200_going_out_entertainment'],
                    visibility: 'visible'
                },
                Accommodations: {
                    layers: ['poi_500_accommodations'],
                    visibility: 'visible'
                },
                Parks: { layers: ['poi_landuse_park'], visibility: 'visible' },
                'Public Complexes': {
                    layers: ['poi_landuse_public_complex'],
                    visibility: 'visible'
                }
            };

            // -------------------------------------------------------------------------------------------
            // Setup auth and state
            // -------------------------------------------------------------------------------------------

            let state = { ...initialLayerState };

                const API_KEY = "<api key>"; // check how to create api key for Amazon Location
                const AWS_REGION = "eu-central-1"; // Replace with your AWS region

                const mapStyle = "Standard";
                const colorScheme = "Light";


            // Style URL
            const styleUrl = `https://maps.geo.${AWS_REGION}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${API_KEY}&color-scheme=${colorScheme}`;


            // Render the map with the stylesheet
            map = new maplibregl.Map({
                container: 'map',
                style: styleUrl,
                center: [-73.966148, 40.781803],
                zoom: 17
            });

            const buttonContainer = document.getElementById('buttons');

            for (const category of Object.keys(state)) {
                const newButton = document.createElement('li');
                newButton.classList.add('button');
                newButton.classList.add('active');
                newButton.id = category;

                // Each config has a label
                newButton.textContent = category;

                // On click, we want to switch the value between 'on' and 'off'
                // We could check the config for available options in more complex cases
                newButton.onclick = () => {
                    onClickCategory(category);
                };

                // Append the button to our button container
                buttonContainer.appendChild(newButton);
            }

            // -------------------------------------------------------------------------------------------
            // LAYER VISIBILITY FUNCTION
            // -------------------------------------------------------------------------------------------

            // On click, get the stylesheet, update the language, and set the style
            const onClickCategory = category => {
                const categoryState = state[category];
                const { visibility, layers } = categoryState;

                let nextState;

                // For active button styling
                const activeButton = document.getElementById(category);

                if (visibility === 'visible') {
                    nextState = 'none';
                    activeButton.classList.remove('active');
                } else {
                    nextState = 'visible';
                    activeButton.classList.add('active');
                }

                layers.forEach(id =>
                    map.setLayoutProperty(id, 'visibility', nextState)
                );

                state[category].visibility = nextState;
            };
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body {
    margin: 0;
    padding: 0;
}
html,
body,
#map {
    height: 100%;
}


#buttons {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: absolute;
    top: 0;
    min-width: 100px;
    max-height: calc(100% - 2rem);
    overflow: auto;
    padding: 1rem;
    background-color: white;
    margin: 0;
}

.button {
    display: inline-block;
    cursor: pointer;
    padding: 8px;
    border-radius: 3px;
    margin-top: 10px;
    font-size: 12px;
    text-align: center;
    color: #fff;
    background: #8a8a8a;
    font-family: sans-serif;
    font-weight: bold;
}

.button:first-child {
    margin-top: 0;
}

.active {
    background: #ee8a65;
}
```

------

# 토포그래피 맵을 생성하는 방법
<a name="how-to-create-topographic-maps"></a>

Amazon Location Service를 사용하면 지형 및 윤곽 밀도 기능을 사용하여 지형 맵을 생성하여 고도 변경 및 지리적 특성을 시각화할 수 있습니다.

## Hillshade 표시
<a name="show-hillshade"></a>

지형 기능을 사용하면 Hillshade, 고도 변경 사항 및 관련 지리적 특성을 시각화할 수 있습니다.

### Hillshade 예제
<a name="hillshade-example"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Terrain Map</title>
        <meta charset='utf-8'>
            <meta name="viewport" content="width=device-width, initial-scale=1">
                <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
                <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body style="margin: 0; padding: 0;">
        <div id="map" style="width: 100%; height: 100vh;"></div>
        <script>
            const apiKey = "Add Your Api Key";
            const mapStyle = "Standard";
            const awsRegion = "us-east-1";

            const map = new maplibregl.Map({
                container: 'map',
                style: `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?terrain=Hillshade&key=${apiKey}`,
                center: [-119.5383, 37.8651], // Yosemite coordinates for terrain visibility
                zoom: 12,
                validateStyle: false, // Disable style validation for faster map load
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## 윤곽 밀도 선으로 고도 표시
<a name="show-contour-density"></a>

Amazon Location Service를 사용하면 맵에 윤곽 밀도 기능을 추가할 수 있습니다. 이를 통해 지리적 가파른 정도와 고도 변화를 시각화할 수 있습니다.

### Contour Density 예제
<a name="contour-density-example"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Contour Map</title>
        <meta charset='utf-8'>
            <meta name="viewport" content="width=device-width, initial-scale=1">
                <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
                <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body style="margin: 0; padding: 0;">
        <div id="map" style="width: 100%; height: 100vh;"></div>
        <script>
            const apiKey = "Add Your Api Key";
            const mapStyle = "Standard";
            const awsRegion = "us-east-1";

            const map = new maplibregl.Map({
                container: 'map',
                style: `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?contour-density=Medium&key=${apiKey}`,
                center: [-119.3047, 37.7887], 
                zoom: 12,
                validateStyle: false, // Disable style validation for faster map load
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## Hillshade 및 Contour Density 라인 모두 표시
<a name="show-hillshade-contour"></a>

Amazon Location Service를 사용하면 맵에서 Hillshade 및 Contour Density 기능을 결합하여 포괄적인 지형 시각화를 수행할 수 있습니다. 이를 통해 깊이 지각이 향상되고 지형 변형 및 지형 특성에 대한 완전한 이해가 가능합니다.

### Hillshade with Contour Density 예제
<a name="hillshade-contour-example"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Hillshade and Contour Map</title>
        <meta charset='utf-8'>
            <meta name="viewport" content="width=device-width, initial-scale=1">
                <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
                <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body style="margin: 0; padding: 0;">
        <div id="map" style="width: 100%; height: 100vh;"></div>
        <script>
            const apiKey = "Add Your Api Key";
            const mapStyle = "Standard";
            const awsRegion = "us-east-1";

            const map = new maplibregl.Map({
                container: 'map',
                style: `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?contour-density=Medium&terrain=Hillshade&key=${apiKey}`,
                center: [-119.3047, 37.7887],
                zoom: 12,
                validateStyle: false, // Disable style validation for faster map load
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

# 맵에 실시간 트래픽을 표시하는 방법
<a name="how-to-set-real-time-traffic-map"></a>

 Amazon Location Service를 사용하여 맵에 트래픽 기능을 추가할 수 있습니다. 이를 통해 실시간 트래픽 데이터를 제공하여 현재 도로 정체, 건설 및 인시던트와 같은 현재 교통 상황을 표시할 수 있으므로 라우팅을 선택할 수 있습니다.

## 실시간 트래픽이 포함된 맵 만들기
<a name="how-to-set-real-time-traffic"></a>

이 예제에서는 실시간 트래픽 데이터가 포함된 맵을 생성하는 방법을 보여줍니다.

### 실시간 트래픽 예제
<a name="how-to-set-real-time-traffic-code"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Traffic Map</title>
        <meta charset='utf-8'>
            <meta name="viewport" content="width=device-width, initial-scale=1">
                <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
                <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body style="margin: 0; padding: 0;">
        <div id="map" style="width: 100%; height: 100vh;"></div>
        <script>
            const apiKey = "Add Your Api Key";
            const mapStyle = "Standard";
            const awsRegion = "us-east-1";

            const map = new maplibregl.Map({
                container: 'map',
                style: `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?traffic=All&key=${apiKey}`,
                center: [-74.0060 ,40.7128], // New York City coordinates for traffic visibility
                zoom: 12,
                validateStyle: false, // Disable style validation for faster map load
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body {
    margin: 0;
    padding: 0;
}

#map {
    width: 100%;
    height: 100vh;
}
```

------

# 물류 맵을 생성하는 방법
<a name="how-to-create-logistic-map"></a>

TravelModes 기능을 사용하면 Amazon Location Service를 사용하여 로지스틱 맵을 구축할 수 있습니다. TravelModes는 관련 도로 제한과 함께 트럭 탐색에 대한 관련 라우팅 정보를 표시합니다. [Transit TravelMode](https://docs.aws.amazon.com/location/latest/developerguide/how-to-show-transit-details-map.html)를 사용하여 대중 교통 세부 정보를 표시합니다.

## Truck TravelMode를 사용하여 맵 생성
<a name="how-to-create-truck-map"></a>

이 예제에서는 로 로 로 로 로 맵`Truck``TravelMode`을 생성하는 방법을 보여줍니다.

### 트럭 예제
<a name="how-to-create-truck-map-code"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Truck Map</title>
        <meta charset='utf-8'>
            <meta name="viewport" content="width=device-width, initial-scale=1">
                <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
                <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body style="margin: 0; padding: 0;">
        <div id="map" style="width: 100%; height: 100vh;"></div>
        <script>
            const apiKey = "Add Your Api Key";
            const mapStyle = "Standard";
            const awsRegion = "us-east-1";

            const map = new maplibregl.Map({
                container: 'map',
                style: `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?travel-modes=Truck&key=${apiKey}`,
                center: [-74.0060 ,40.7128],
                zoom: 12,
                validateStyle: false, // Disable style validation for faster map load
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body {
    margin: 0;
    padding: 0;
}

#map {
    width: 100%;
    height: 100vh;
}
```

------

# 맵에 전송 세부 정보를 표시하는 방법
<a name="how-to-show-transit-details-map"></a>

Amazon Location Service를 사용하면 맵에 전송 기능을 추가할 수 있습니다. 에는 색상으로 구분된 열차선과 같은 대중 교통을 위한 라우팅 정보가 `Transit` `TravelMode` 표시됩니다. 또한 추가 옵션을 위해 [logistics TravelMode](https://docs.aws.amazon.com/location/latest/developerguide/how-to-create-logistic-map.html)를 설정하는 방법도 확인하세요.

## 전송 세부 정보가 포함된 맵 생성
<a name="how-to-show-transit-map"></a>

이 예제에서는 대중 교통을 위해 Transit TravelMode를 사용하여 전송 세부 정보가 포함된 맵을 생성하는 방법을 보여줍니다.

### 전송 예제
<a name="how-to-show-transit-map-code"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Transit Map</title>
        <meta charset='utf-8'>
            <meta name="viewport" content="width=device-width, initial-scale=1">
                <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
                <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body style="margin: 0; padding: 0;">
        <div id="map" style="width: 100%; height: 100vh;"></div>
        <script>
            const apiKey = "Add Your Api Key";
            const mapStyle = "Standard";
            const awsRegion = "us-east-1";

            const map = new maplibregl.Map({
                container: 'map',
                style: `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?travel-modes=Transit&key=${apiKey}`,
                center: [-74.0060 ,40.7128],
                zoom: 12,
                validateStyle: false, // Disable style validation for faster map load
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body {
    margin: 0;
    padding: 0;
}

#map {
    width: 100%;
    height: 100vh;
}
```

------

# 3D 맵을 생성하는 방법
<a name="how-to-create-a-3d-map"></a>

Amazon Location Service를 사용하면 고도 데이터를 3차원 표면으로 `Terrain3D` 표시하거나 높이와 볼륨이 있는 도시 구조를 표시하는 등 맵`Buildings3D`에 3차원 기능을 추가할 수 있습니다.

## 3차원 지형 세부 정보로 맵 생성
<a name="how-to-show-3d-terrain-map"></a>

이 예제에서는 `Terrain3D` 파라미터로 맵을 생성하는 방법을 보여줍니다.

### Terrain3D 예제
<a name="how-to-show-3d-terrain-map-code"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>3D Terrain</title>
        <meta charset='utf-8'>
            <meta name="viewport" content="width=device-width, initial-scale=1">
                <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
                <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body style="margin: 0; padding: 0;">
        <div id="map" style="width: 100%; height: 100vh;"></div>
        <script>
            const apiKey = "Add Your Api Key";
            const mapStyle = "Standard";
            const awsRegion = "us-east-1";

            const map = new maplibregl.Map({
                container: 'map',
                style: `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?terrain=Terrain3D&key=${apiKey}`,
                center: [7.6583, 45.9763],
                zoom: 12,
                pitch: 60, // Tilt angle (0-85 degrees)
                validateStyle: false, // Disable style validation for faster map load
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body {
    margin: 0;
    padding: 0;
}

#map {
    width: 100%;
    height: 100vh;
}
```

------

## 3차원 건물 세부 정보가 포함된 맵 생성
<a name="how-to-show-3d-buildings-map"></a>

이 예제에서는 `Buildings3D` 파라미터로 맵을 생성하는 방법을 보여줍니다.

### Buildings3D 예제
<a name="how-to-show-3d-buildings-map-code"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>3D Buildings</title>
        <meta charset='utf-8'>
            <meta name="viewport" content="width=device-width, initial-scale=1">
                <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
                <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body style="margin: 0; padding: 0;">
        <div id="map" style="width: 100%; height: 100vh;"></div>
        <script>
            const apiKey = "Add Your Api Key";
            const mapStyle = "Standard";
            const awsRegion = "us-east-1";

            const map = new maplibregl.Map({
                container: 'map',
                style:
                `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?buildings=Buildings3D&key=${apiKey}`,
                center: [7.6583, 45.9763],
                zoom: 12,
                pitch: 60, // Tilt angle (0-85 degrees)
                validateStyle: false, // Disable style validation for faster map load
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body {
    margin: 0;
    padding: 0;
}

#map {
    width: 100%;
    height: 100vh;
}
```

------

## Globe 보기 활성화/비활성화
<a name="how-to-enable-disable-globe-view"></a>

이 예제에서는 글로브 뷰 프로젝션을 활성화하거나 비활성화하는 방법을 보여줍니다. 기본적으로 글로브 보기가 활성화됩니다.

### 글로브 보기 예제
<a name="how-to-enable-disable-globe-view-code"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Globe View</title>
        <meta charset='utf-8'>
            <meta name="viewport" content="width=device-width, initial-scale=1">
                <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
                <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body style="margin: 0; padding: 0;">
        <div id="map" style="width: 100%; height: 100vh;"></div>
        <script>
            const apiKey = "Add Your Api Key";
            const mapStyle = "Standard";
            const awsRegion = "us-east-1";

            const map = new maplibregl.Map({
                container: 'map',
                style:
                `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`,
                center: [-74.5, 40],
                zoom: 2,
                validateStyle: false, // Disable style validation for faster map load
            });

            map.on('style.load', () => {
                // Globe view is enabled by default
                // To disable globe view, uncomment the next line:
                // map.setProjection({});
            });
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body {
    margin: 0;
    padding: 0;
}

#map {
    width: 100%;
    height: 100vh;
}
```

------

# 정적 맵 사용 방법
<a name="static-maps-how-to"></a>

이러한 방법 주제에서는 Amazon Location Service의 매핑 기능을 활용하여 오버레이 및 시각적 요소로 정적 맵을 사용자 지정하기 위한 단계별 지침을 제공합니다. 각 가이드에서는 맵 차원 조정, 확대/축소 또는 반경 선택, 마커, 다각형, 선, 근접 원과 같은 다양한 지리 공간 요소 추가와 같은 주요 작업을 안내합니다. 이 가이드에서는 컴팩트 형식과 GeoJSON 형식을 모두 사용하여 스타일과 구성의 유연성을 보장합니다.

고객 대면 애플리케이션에 맞게 맵을 최적화하든 지리 공간 분석을 수행하든, 이 주제에서는 특정 요구 사항에 맞게 정적 맵을 조정하는 방법에 대한 명확한 지침을 제공합니다. 자세한 예제에 따라 맵 프레젠테이션을 개선하고 다양한 비즈니스 요구 사항에 맞게 지리적 데이터를 효율적으로 관리하는 방법을 알아봅니다.

**Topics**
+ [특정 위치의 정적 맵을 가져오는 방법](get-static-map-specific-position.md)
+ [특정 차원의 정적 맵을 가져오는 방법](get-static-map-specific-dimension.md)
+ [정적 맵에 대해 반경과 확대/축소 중에서 결정하는 방법](choose-radius-vs-zoom.md)
+ [정적 맵에 대한 스케일을 추가하는 방법](add-scale-static-map.md)
+ [정적 맵에 마커를 추가하는 방법](add-marker-static-map.md)
+ [정적 맵에 선을 추가하는 방법](how-to-add-line-static.md)
+ [정적 맵에 경로를 추가하는 방법](how-to-add-route.md)
+ [정적 맵에 다각형을 추가하는 방법](how-to-add-polygon-static.md)
+ [정적 맵의 언어를 설정하는 방법](set-language-static-map.md)
+ [정적 맵에 근접 원을 추가하는 방법](how-to-add-proximity-circle.md)

# 특정 위치의 정적 맵을 가져오는 방법
<a name="get-static-map-specific-position"></a>

이 주제에서는 특정 파라미터를 기반으로 Amazon Location Service에서 정적 맵을 검색하는 방법을 알아봅니다. 중앙 위치, 경계 상자 및 경계 위치 집합에 대한 정적 맵을 생성하는 방법을 알아봅니다. 제공된 예제는 맵의 너비, 높이 및 스타일을 사용자 지정하는 데 도움이 됩니다.

**참고**  
정적 맵을 생성할 때는 `map` 또는 `map@2x`를 전달해야 합니다.

## 중앙 위치의 맵 이미지 가져오기
<a name="get-map-center-position"></a>

이 예제에서는 너비가 `1024`이고 높이가 `1024`이고 중심 좌표는 `-123.1143,49.2763`에 설정된 맵 이미지를 생성합니다. 여기서 `longitude=-123.1143`이고 `latitude=49.2763`이며 확대/축소 수준은 `15`입니다.

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&zoom=15&center=-123.1156126,49.2767046&key=API_KEY
```

------
#### [ Response image ]

![\[Aerial view of a coastal city with dense urban layout, harbor, and large stadium visible.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-center.png)


------

## 경계 상자의 맵 이미지 가져오기
<a name="get-map-bounding-box"></a>

이 예제에서는 해당 영역의 경계 상자를 설정하여 동남아시아의 맵 이미지를 생성합니다.

`bbox` 형식은 `{southwest_longitude},{southwest_latitude},{northeast_longitude},{northeast_latitude}`입니다.

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&bounding-box=90.00,-21.94,146.25,31.95&key=API_KEY
```

------
#### [ Response image ]

![\[Satellite view of Southeast Asia, showing mainland, islands, and surrounding waters.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-bounding-box.png)


------

## 경계 위치에 대한 맵 이미지 가져오기
<a name="get-map-bounded-positions"></a>

이 예제에서는 좌표(경로, 위도)를 사용하여 각각 지정한 파리에서 가보아야 할 여러 장소를 포함하는 맵을 생성합니다. 경계 위치에는 Eiffel Tower, Louvre Museum, Notre-Dame Cathedral, Champs-Élysées, Arc de Triomphe, Sacré-Cœur Basilica, Luxembourg Gardens, Musée d'Orsay, Place de la Concorde 및 Palais Garnier가 포함됩니다.

경계 위치의 형식은 `{longitude1},{latitude1},{longitude2},{latitude2} ... {longitudeN},{latitudeN}`입니다.

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&bounded-positions=2.2945,48.8584,2.3376,48.8606,2.3500,48.8529,2.3076,48.8698,2.2950,48.8738,2.3431,48.8867,2.3372,48.8462,2.3266,48.8600,2.3212,48.8656,2.3317,48.8719&key=API_KEY
```

------
#### [ Response image ]

![\[Aerial view of Paris showing dense urban layout, Seine River, and iconic landmarks.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-bounding-position.png)


------

# 특정 차원의 정적 맵을 가져오는 방법
<a name="get-static-map-specific-dimension"></a>

이 주제에서는 Amazon Location Service를 사용하여 정적 맵의 차원(높이 및 너비)을 설정하는 방법을 알아봅니다. 맵 이미지의 차원을 사용자 지정하면 성능, 시각적 품질 및 사용성의 균형을 맞출 수 있습니다. `width` 및 `height`의 최대값은 1,400픽셀이고 최소값은 64픽셀입니다. 최대 결과 크기는 6MB입니다.

또한 `bbox` 및 `bounds` 파라미터를 `padding`과 함께 사용하면 엣지 근처의 중요한 맵 기능이 완전히 표시되고 잘리지 않도록 할 수 있습니다.

## 특정 높이 및 너비의 맵 이미지 가져오기
<a name="get-map-specific-dimension"></a>

이 예제에서는 핀란드 헬싱키에 대한 저해상도 및 중간 해상도 맵 이미지를 생성합니다.

------
#### [ Request URL for low-resolution thumbnail ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=200&height=200&zoom=11.5&center=24.9460,60.1690&key=API_KEY
```

------
#### [ Response (Thumbnail 200x200) ]

![\[Aerial view of a coastal city with intricate waterways, islands, and urban development.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-specific-dimension-low.png)


------
#### [ Request URL for mid-resolution image ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=700&height=700&zoom=13&center=24.9460,60.1690&key=API_KEY
```

------
#### [ Response image (700x700) ]

![\[Aerial view of a coastal city with dense urban development, harbors, and surrounding waters.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-specific-dimension-mid.png)


------

## 모든 면에 패딩이 있는 맵 이미지 가져오기
<a name="get-map-with-padding"></a>

이 예제에서는 패딩이 있는 경우와 없는 경우의 좌표(경도, 위도)를 사용하여 핀란드 헬싱키의 여러 가봐야 할 장소를 사용한 맵을 생성합니다.

------
#### [ Request URL with padding ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&padding=150&bounded-positions=24.9526,60.1692,24.9850,60.1465,24.9270,60.1725,24.9226,60.1826,24.9509,60.1675,24.9566,60.1685,24.9457,60.1674,24.9397,60.1719,24.9414,60.1715,24.9387,60.1720&key=API_KEY
```

------
#### [ Response image (with padding) ]

![\[Aerial view of a coastal city with dense urban areas, harbors, and surrounding islands.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-specific-dimension-padding.png)


------
#### [ Request URL without padding ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&bounded-positions=24.9526,60.1692,24.9850,60.1465,24.9270,60.1725,24.9226,60.1826,24.9509,60.1675,24.9566,60.1685,24.9457,60.1674,24.9397,60.1719,24.9414,60.1715,24.9387,60.1720&key=API_KEY
```

------
#### [ Response image (without padding) ]

![\[Aerial view of a coastal city with dense urban areas, harbors, and small islands.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-specific-dimension-no-padding.png)


------

# 정적 맵에 대해 반경과 확대/축소 중에서 결정하는 방법
<a name="choose-radius-vs-zoom"></a>

이 주제에서는 Amazon Location Service를 사용하여 정적 맵을 생성할 때 `radius` 또는 `zoom` 중에서 선택하는 방법을 알아봅니다. `radius` 파라미터는 적용 범위를 보다 정밀하게 제어하므로 정확한 적용 범위를 알고 있는 고객 대면 애플리케이션에 적합합니다. `zoom` 파라미터는 표시되는 세부 수준을 조정하려는 경우 지리 공간 분석에 더 적합합니다.

## 반경 사용
<a name="with-radius"></a>

이 예제에서는 중앙 위치에서 `radius` 파라미터를 사용하여 Sri Lanka의 맵 이미지를 생성합니다.

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=700&height=700&center=80.60596,7.76671&radius=235000&scale-unit=KilometersMiles&key=API_KEY
```

------
#### [ Response image ]

![\[Satellite view of Sri Lanka, showing the teardrop-shaped island nation surrounded by ocean.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-radius.png)


------

## 확대/축소 사용
<a name="with-zoom"></a>

이 예제에서는 중앙 위치에서 `zoom` 파라미터를 사용하여 Sri Lanka의 맵 이미지를 생성합니다.

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=700&height=700&zoom=8&center=80.60596,7.76671&scale-unit=KilometersMiles&key=API_KEY
```

------
#### [ Response image ]

![\[Satellite view of Sri Lanka, showing the teardrop-shaped island nation surrounded by ocean.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-zoom.png)


------

# 정적 맵에 대한 스케일을 추가하는 방법
<a name="add-scale-static-map"></a>

이 주제에서는 Amazon Location Service로 생성된 정적 맵의 오른쪽 하단 모서리에 스케일을 표시하는 방법을 알아봅니다. 스케일은 `Miles` 또는 `Kilometers`와 같은 단일 단위를 표시하거나, `KilometersMiles` 또는 `MilesKilometers`와 같이 두 단위를 모두 표시할 수 있으며 한 단위는 상단에 표시되고 다른 단위는 하단에 표시됩니다.

## 단일 단위를 사용하여 스케일 추가
<a name="add-scale-single-unit"></a>

이 예제에서는 오른쪽 하단 모서리에 스케일이 `Kilometers`로 설정된 핀란드의 헬싱키 맵을 표시합니다.

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&zoom=13.5&center=24.9189564,60.1645772&scale-unit=Kilometers&key=API_KEY
```

------
#### [ Response image ]

![\[Aerial view of a coastal city with dense urban areas, waterways, and islands.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-scale-single.png)


------

## 두 단위를 모두 사용하여 스케일 추가
<a name="add-scale-both-units"></a>

이 예제에서는 오른쪽 하단 모서리의 스케일에 `Kilometers` 및 `Miles`이 모두 표시된 핀란드의 헬싱키 맵을 표시하며 한 단위는 다른 단위 위에 표시되어 있습니다.

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&zoom=14&center=24.9189564,60.1645772&scale-unit=KilometersMiles&key=API_KEY
```

------
#### [ Response image ]

![\[Aerial view of a coastal city with dense urban areas, harbors, and islands surrounded by water.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-scale-both.png)


------

# 정적 맵에 마커를 추가하는 방법
<a name="add-marker-static-map"></a>

이 주제에서는 Amazon Location Service로 생성된 정적 맵에 마커를 추가하는 방법을 알아봅니다. 마커의 아이콘, 레이블, 크기, 색상 및 기타 스타일 옵션을 사용자 지정할 수 있습니다. 이를 통해 맵의 목적에 맞는 시각적 신호로 특정 위치를 강조 표시할 수 있습니다.

## 마커 스타일
<a name="marker-styling"></a>


| 이름 | 유형 | 기본값 | 설명 | 
| --- | --- | --- | --- | 
| `style` | 문자열 | `marker` | 점 지오메트리의 스타일입니다. 마커를 생성하려면 값을 `marker`로 설정하거나 GeoJSON의 속성 객체에 `style` 속성을 포함하지 마십시오. | 
| `icon` | 문자열 | `pin` | 마커 아이콘 유형입니다. 사용 가능한 값은 `cp`(근접 원), `diamond`, `pin`, `poi`, `square`, `triangle`, `bubble`입니다. | 
| `label` | 문자열 | `<empty>` | 좌표에 표시할 텍스트입니다. 자동 레이블을 설정하려면 `$alpha`(라틴 문자) 또는 `$num`(아라비아 숫자) 값을 사용합니다. | 
| `color` | 색상 | 스타일에 따라 다름 | 아이콘 색상입니다. | 
| `outline-color` | 색상 | 스타일에 따라 다름 | 아이콘 윤곽선 색상입니다. | 
| `text-color` | 색상 | 스타일에 따라 다름 | 레이블 텍스트 색상입니다. | 
| `text-outline-color` | 색상 | 스타일에 따라 다름 | 텍스트 윤곽선 색상입니다. | 
| `outline-width` | 정수 | `0`(꺼짐) | 텍스트 윤곽선 너비입니다. | 
| `size` | 문자열 | `medium` | 레이블 및 아이콘 크기입니다. 사용 가능한 값은 `small`, `medium`, `large`입니다. | 

## 맵 이미지에 마커 추가
<a name="add-marker-single"></a>

이 예제에서는 밴쿠버의 BC Place 맵 이미지에 레이블이 있는 마커를 배치합니다.

`Geo JSON`:

```
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          -123.11210,
          49.2767875
        ]
        },
      "properties": {
          "color":"#EE4B2B",
          "size":"large",
          "label":"BC Place, Vancouver",
          "text-color":"#0000FF"
       }
    }
  ]
}
```

`Compact`:

```
point: -123.11210,49.27678;
label=BC Place, Vancouver;
size=large;
text-color=#0000FF;
color=#EE4B2B
```

------
#### [ Request URL ]

GeoJSON 오버레이 사용

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&zoom=15&scale-unit=KilometersMiles&geojson-overlay=%7B%22type%22%3A%22FeatureCollection%22,%22features%22%3A%5B%7B%22type%22%3A%22Feature%22,%22properties%22%3A%7B%22color%22%3A%22%23EE4B2B%22,%22size%22%3A%22large%22,%22label%22%3A%22BC%20Place,%20Vancouver%22,%22text-color%22%3A%22%230000FF%22%7D,%22geometry%22%3A%7B%22coordinates%22%3A%5B-123.11210974152168,49.27678753813112%5D,%22type%22%3A%22Point%22%7D%7D%5D%7D&key=API_KEY
```

------
#### [ Response image ]

![\[Aerial view of Vancouver's downtown and harbor, with BC Place stadium marked.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-add-marker.png)


------

## 맵 이미지에 여러 마커 추가
<a name="add-multiple-markers"></a>

이 예제에서는 좌표(경도, 위도)를 사용하여 핀란드의 헬싱키에서 반드시 가보아야 할 장소에 대한 마커를 추가합니다. 또한 패딩을 적용하여 맵이 모든 마커를 올바르게 수용하도록 할 수 있습니다.

**참고**  
사용 가능한 마커 아이콘 유형에는 근접 원 `diamond, pin, poi, square, triangle, bubble`의 경우 `cp`가 포함됩니다.

`Geo JSON`:

```
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "MultiPoint",
        "coordinates": [
          [24.9526, 60.1692],
          [24.9270, 60.1725],
          [24.9226, 60.1826],
          [24.9509, 60.1675],
          [24.9566, 60.1685],
          [24.9457, 60.1674],
          [24.9397, 60.1719],
          [24.9414, 60.1715],
          [24.9387, 60.1720]
        ]
      },
      "properties": {
        "icon":"diamond",
        "label":"$num",
        "size":"large",
        "text-color":"%23972E2B",
        "text-outline-color":"%23FFF",
        "text-outline-width":2
      }
    }
  ]
}
```

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&padding=150&geojson-overlay=%7B%22type%22%3A%22FeatureCollection%22,%22features%22%3A%5B%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%7B%22type%22%3A%22MultiPoint%22,%22coordinates%22%3A%5B%5B24.9526,60.1692%5D,%5B24.927,60.1725%5D,%5B24.9226,60.1826%5D,%5B24.9509,60.1675%5D,%5B24.9566,60.1685%5D,%5B24.9457,60.1674%5D,%5B24.9397,60.1719%5D,%5B24.9414,60.1715%5D,%5B24.9387,60.172%5D%5D%7D,%22properties%22%3A%7B%22icon%22%3A%22diamond%22,%22label%22%3A%22%24num%22,%22size%22%3A%22large%22,%22text-color%22%3A%22%23972E2B%22,%22text-outline-color%22%3A%22%23FFF%22,%22text-outline-width%22%3A2%7D%7D%5D%7D&key=API_KEY
```

------
#### [ Response image ]

![\[Aerial view of a city with lakes, buildings, roads, and numbered markers indicating points of interest.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-add-multi-markers.png)


------

## 맵 이미지에서 마커 색상 변경
<a name="change-marker-color"></a>

이 예제에서는 다양한 색상의 버블 마커를 사용하여 전 세계 도시를 나타냅니다. 맵의 컨텍스트에 맞게 마커의 색상, 레이블 및 기타 속성을 사용자 지정할 수 있습니다.

`Geo JSON`:

```
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [85.1376, 25.5941]
      },
      "properties": {
        "label": "Patna",
        "icon": "bubble",
        "color": "#FF5722",
        "outline-color": "#D74D3D",
        "text-color": "#FFFFFF"
      }
    },
    .....redacted.....
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [2.3522, 48.8566]
      },
      "properties": {
        "label": "Paris, France",
        "icon": "bubble",
        "color": "#FF9800",
        "outline-color": "#D76B0B",
        "text-color": "#FFFFFF"
      }
    }
  ]
}
```

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1400&height=1024&padding=150&geojson-overlay=%7B%22type%22%3A%22FeatureCollection%22,%22features%22%3A%5B%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%7B%22type%22%3A%22Point%22,%22coordinates%22%3A%5B85.1376,25.5941%5D%7D,%22properties%22%3A%7B%22label%22%3A%22Patna%22,%22icon%22%3A%22bubble%22,%22color%22%3A%22%23FF5722%22,%22outline-color%22%3A%22%23D74D3D%22,%22text-color%22%3A%22%23FFFFFF%22%7D%7D,%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%7B%22type%22%3A%22Point%22,%22coordinates%22%3A%5B105.8542,21.0285%5D%7D,%22properties%22%3A%7B%22label%22%3A%22Hanoi,%20Vietnam%22,%22icon%22%3A%22bubble%22,%22color%22%3A%22%232196F3%22,%22outline-color%22%3A%22%231A78C2%22,%22text-color%22%3A%22%23FFFFFF%22%7D%7D,%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%7B%22type%22%3A%22Point%22,%22coordinates%22%3A%5B116.4074,39.9042%5D%7D,%22properties%22%3A%7B%22label%22%3A%22Beijing,%20China%22,%22icon%22%3A%22bubble%22,%22color%22%3A%22%23FF9800%22,%22outline-color%22%3A%22%23D76B0B%22,%22text-color%22%3A%22%23FFFFFF%22%7D%7D,%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%7B%22type%22%3A%22Point%22,%22coordinates%22%3A%5B106.9101,47.918%5D%7D,%22properties%22%3A%7B%22label%22%3A%22Ulaanbaatar,%20Mongolia%22,%22icon%22%3A%22bubble%22,%22color%22%3A%22%239C27B0%22,%22outline-color%22%3A%22%237B1FA2%22,%22text-color%22%3A%22%23FFFFFF%22%7D%7D,%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%7B%22type%22%3A%22Point%22,%22coordinates%22%3A%5B151.2093,-33.8688%5D%7D,%22properties%22%3A%7B%22label%22%3A%22Sydney,%20Australia%22,%22icon%22%3A%22bubble%22,%22color%22%3A%22%234CAF50%22,%22outline-color%22%3A%22%23388E3C%22,%22text-color%22%3A%22%23FFFFFF%22%7D%7D,%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%7B%22type%22%3A%22Point%22,%22coordinates%22%3A%5B174.7633,-41.2865%5D%7D,%22properties%22%3A%7B%22label%22%3A%22Wellington,%20New%20Zealand%22,%22icon%22%3A%22bubble%22,%22color%22%3A%22%23FFC107%22,%22outline-color%22%3A%22%23FFA000%22,%22text-color%22%3A%22%23000000%22%7D%7D%5D%7D&key=API_KEY
```

------
#### [ Response image ]

![\[World map showing locations of major cities across continents with colored labels.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-change-marker-color.png)


------

# 정적 맵에 선을 추가하는 방법
<a name="how-to-add-line-static"></a>

 이 주제에서는 Amazon Location Service를 사용하여 정적 맵에 선을 추가하는 방법을 알아봅니다. 지원되는 스타일 옵션, GeoJSON을 사용하여 선을 정의하는 방법 및 색상, 너비, 윤곽선과 같은 사용자 지정 스타일을 적용하는 방법을 살펴보겠습니다. 또한 선 두께와 같은 속성에 대해 다양한 측정 단위를 사용하는 방법을 살펴보겠습니다.

## 지원되는 스타일
<a name="supported-styling"></a>


| 이름 | 유형 | 기본값 | 설명 | 
| --- | --- | --- | --- | 
| `color` | 색상 | 스타일에 따라 다름 | 선 색상입니다. | 
| `width` | 정수/문자열 | 2 | 선 두께입니다. 자세한 내용은 [정적 맵에 선을 추가하는 방법](#how-to-add-line-static) 섹션을 참조하세요. | 
| `outline-color`  | 색상 | 스타일에 따라 다름 | 선 윤곽선 색상입니다. | 
|  `outline-width`  | 정수/문자열 | 0(꺼짐) | 윤곽선의 두께입니다. 자세한 내용은 [정적 맵에 선을 추가하는 방법](#how-to-add-line-static) 섹션을 참조하세요. | 

## 지원되는 단위
<a name="supported-unit"></a>


| 단위 | 설명 | 
| --- | --- | 
| 정수, 예: `5` | 픽셀 | 
| 단위가 없는 문자열, 예: `"5"` | 픽셀 | 
| `"px"` | 픽셀 | 
| `"m"` | 미터 | 
|  `"km"`  | 킬로미터 | 
| `"mi"` | 마일 | 
| `"ft"` | 피트 | 
| `"yd"` | 야드 | 
| `"%"` | 특정 속성에 대한 기본값의 백분율입니다(픽셀 단위). 예를 들어 `width`의 기본값이 `2`픽셀인 경우 `200%`는 `4`픽셀입니다. `%`는 요청 URL에 `%25`로 인코딩되어야 하는 민감한 문자입니다. | 

## 선 추가
<a name="add-a-line"></a>

 이 예제에서는 밴쿠버의 한 장소에서 스탠리 파크까지 선을 추가합니다. 선은 좌표가 정의된 GeoJSON 형식을 사용하여 생성됩니다.

------
#### [ Request ]

```
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [-123.11813, 49.28246],
          [-123.11967, 49.28347],
          [-123.12108, 49.28439],
          [-123.12216, 49.28507],
          [-123.12688, 49.28812],
          [-123.1292, 49.28964],
          [-123.13216, 49.2916],
          [-123.13424, 49.29291],
          [-123.13649, 49.2944],
          [-123.13678, 49.29477],
          [-123.13649, 49.29569],
          [-123.13657, 49.29649],
          [-123.13701, 49.29715],
          [-123.13584, 49.29847],
          [-123.13579, 49.29935],
          [-123.13576, 49.30018],
          [-123.13574, 49.30097]
        ]
      },
      "properties": {
        "name": "To Stanley Park",
        "description": "An evening walk to Stanley Park."
      }
    }
  ]
}
```

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&padding=200&scale-unit=KilometersMiles&geojson-overlay=%7B%22type%22%3A%22FeatureCollection%22,%22features%22%3A%5B%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%7B%22type%22%3A%22LineString%22,%22coordinates%22%3A%5B%5B-123.11813,49.28246%5D,%5B-123.11967,49.28347%5D,%5B-123.12108,49.28439%5D,%5B-123.12216,49.28507%5D,%5B-123.12688,49.28812%5D,%5B-123.1292,49.28964%5D,%5B-123.13216,49.2916%5D,%5B-123.13424,49.29291%5D,%5B-123.13649,49.2944%5D,%5B-123.13678,49.29477%5D,%5B-123.13649,49.29569%5D,%5B-123.13657,49.29649%5D,%5B-123.13701,49.29715%5D,%5B-123.13584,49.29847%5D,%5B-123.13579,49.29935%5D,%5B-123.13576,49.30018%5D,%5B-123.13574,49.30097%5D%5D%7D,%22properties%22%3A%7B%22name%22%3A%22To%20Stanley%20Park%22,%22description%22%3A%22An%20evening%20walk%20to%20Stanley%20Park.%22%7D%7D%5D%7D&key=API_KEY
```

------
#### [ Response image ]

![\[Aerial view of coastal city with dense urban area, marina, and surrounding forests.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-add-line.png)


------

## 선에 스타일 추가
<a name="add-styling"></a>

 이 예제에서는 이전 예제에서 추가한 선의 스타일을 지정합니다. 여기에는 맵에서 선의 시각적 모양을 사용자 지정하기 위한 선의 색상, 두께, 윤곽선 색상 및 윤곽선 두께 정의가 포함됩니다.

------
#### [ Request ]

```
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [-123.11813, 49.28246],
          [-123.11967, 49.28347],
          [-123.12108, 49.28439],
          [-123.12216, 49.28507],
          [-123.12688, 49.28812],
          [-123.1292, 49.28964],
          [-123.13216, 49.2916],
          [-123.13424, 49.29291],
          [-123.13649, 49.2944],
          [-123.13678, 49.29477],
          [-123.13649, 49.29569],
          [-123.13657, 49.29649],
          [-123.13701, 49.29715],
          [-123.13584, 49.29847],
          [-123.13579, 49.29935],
          [-123.13576, 49.30018],
          [-123.13574, 49.30097]
        ]
      },
      "properties": {
        "color": "#6d34b3", 
        "width": "9m",
        "outline-color": "#a8b9cc",  
        "outline-width": "2px"
      }
    }
  ]
}
```

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&padding=200&scale-unit=KilometersMiles&geojson-overlay=%7B%22type%22%3A%22FeatureCollection%22,%22features%22%3A%5B%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%22LineString%22,%22coordinates%22%3A%5B%5B-123.11813,49.28246%5D,%5B-123.11967,49.28347%5D,%5B-123.12108,49.28439%5D,%5B-123.12216,49.28507%5D,%5B-123.12688,49.28812%5D,%5B-123.1292,49.28964%5D,%5B-123.13216,49.2916%5D,%5B-123.13424,49.29291%5D,%5B-123.13649,49.2944%5D,%5B-123.13678,49.29477%5D,%5B-123.13649,49.29569%5D,%5B-123.13657,49.29649%5D,%5B-123.13701,49.29715%5D,%5B-123.13584,49.29847%5D,%5B-123.13579,49.29935%5D,%5B-123.13576,49.30018%5D,%5B-123.13574,49.30097%5D%5D%7D,%22properties%22%3A%7B%22color%22%3A%22%236d34b3%22,%22width%22%3A%229m%22,%22outline-color%22%3A%22%23a8b9cc%22,%22outline-width%22%3A%222px%22%7D%7D%5D%7D&key=API_KEY
```

------
#### [ Response image ]

![\[Aerial view of coastal city with dense urban area, marina, and surrounding forests.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-add-line-styling.png)


------

# 정적 맵에 경로를 추가하는 방법
<a name="how-to-add-route"></a>

이 주제에서는 Amazon Location Service를 사용하여 정적 맵에 경로를 추가하는 방법을 알아봅니다. CalculateRoutes API를 사용하여 경로를 얻는 단계를 진행한 다음, GeoJSON과 점 및 선에 대한 사용자 지정 스타일을 사용하여 정적 맵에서 이를 시각화합니다.

## 경로를 추가하는 단계
<a name="steps-to-add-route"></a>

1. `CalculateRoutes` API에서 경로를 가져옵니다. 동일한 직선에 있는 좌표를 제거하여 LineString을 최적화함으로써 쿼리 문자열이 한도에 도달하지 않도록 합니다.

1. 최적화된 좌표 집합을 기반으로 GeoJSON 객체를 생성합니다.

1. LineString의 첫 번째 점과 마지막 점을 가져와 점 지오메트리를 추가하여 시작 및 종료 위치를 표시합니다.

1. 색상, 크기 및 레이블과 같은 속성을 조정하여 비즈니스 요구 사항에 따라 점과 LineString의 스타일을 지정합니다.

## 압축 스타일을 사용하여 경로 추가
<a name="add-route-using-compact-style"></a>

이 예제에서는 시작점과 종료점이 있는 경로를 [정적 맵에 선을 추가하는 방법](how-to-add-line-static.md)에서 생성된 선에 추가합니다. 경로는 시작점과 종료점의 색상, 크기 및 레이블을 포함한 사용자 지정 스타일로 정의됩니다.

```
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [-123.11813, 49.28246],
          [-123.11967, 49.28347],
          [-123.12108, 49.28439],
          [-123.12216, 49.28507],
          [-123.12688, 49.28812],
          [-123.1292, 49.28964],
          [-123.13216, 49.2916],
          [-123.13424, 49.29291],
          [-123.13649, 49.2944],
          [-123.13678, 49.29477],
          [-123.13649, 49.29569],
          [-123.13657, 49.29649],
          [-123.13701, 49.29715],
          [-123.13584, 49.29847],
          [-123.13579, 49.29935],
          [-123.13576, 49.30018],
          [-123.13574, 49.30097]
        ]
      },
      "properties": {
        "color": "#000000", 
        "width": "20m",
        "outline-color": "#a8b9cc",  
        "outline-width": "2px"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [-123.11813, 49.28246]
      },
      "properties": {
        "label": "Pacific Centre",
        "icon": "bubble",
        "size": "large",
        "color": "#34B3A4",
        "outline-color": "#006400",
        "text-color": "#FFFFFF"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [-123.13574, 49.30097]
      },
      "properties": {
        "label": "Stanley Park",
        "icon": "bubble",
        "size": "large",
        "color": "#B3346D",
        "outline-color": "#FF0000",
        "text-color": "#FFFFFF"
      }
    }
  ]
}
```

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&padding=200&scale-unit=KilometersMiles&geojson-overlay=%7B%22type%22%3A%22FeatureCollection%22,%22features%22%3A%5B%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%7B%22type%22%3A%22LineString%22,%22coordinates%22%3A%5B%5B-123.11813,49.28246%5D,%5B-123.11967,49.28347%5D,%5B-123.12108,49.28439%5D,%5B-123.12216,49.28507%5D,%5B-123.12688,49.28812%5D,%5B-123.1292,49.28964%5D,%5B-123.13216,49.2916%5D,%5B-123.13424,49.29291%5D,%5B-123.13649,49.2944%5D,%5B-123.13678,49.29477%5D,%5B-123.13649,49.29569%5D,%5B-123.13657,49.29649%5D,%5B-123.13701,49.29715%5D,%5B-123.13584,49.29847%5D,%5B-123.13579,49.29935%5D,%5B-123.13576,49.30018%5D,%5B-123.13574,49.30097%5D%5D%7D,%22properties%22%3A%7B%22color%22%3A%22%23000000%22,%22width%22%3A%2220m%22,%22outline-color%22%3A%22%23a8b9cc%22,%22outline-width%22%3A%222px%22%7D%7D,%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%22Point%22,%22coordinates%22%3A%5B-123.11813,49.28246%5D%7D,%22properties%22%3A%7B%22label%22%3A%22Pacific%20Centre%22,%22icon%22%3A%22bubble%22,%22size%22%3A%22large%22,%22color%22%3A%22%2334B3A4%22,%22outline-color%22%3A%22%23006400%22,%22text-color%22%3A%22%23FFFFFF%22%7D%7D,%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%22Point%22,%22coordinates%22%3A%5B-123.13574,49.30097%5D%7D,%22properties%22%3A%7B%22label%22%3A%22Stanley%20park%22,%22icon%22%3A%22bubble%22,%22size%22%3A%22large%22,%22color%22%3A%22%23B3346D%22,%22outline-color%22%3A%22%23FF0000%22,%22text-color%22%3A%22%23FFFFFF%22%7D%7D%5D%7D&key=API_KEY
```

------
#### [ Response image ]

![\[Aerial view of Vancouver with Stanley Park and Pacific Centre marked, showing urban layout and coastline.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/static-add-route-compact.png)


------

# 정적 맵에 다각형을 추가하는 방법
<a name="how-to-add-polygon-static"></a>

건물과 위치는 Pentagon(워싱턴 D.C.에 위치)과 같이 주변에 다각형을 지정하여 맵에서 강조 표시할 수 있습니다.

## 단일 다각형 추가
<a name="polygon-single"></a>

이 예제에서는 맵에서 Pentagon 건물에 대해 다각형(오각형)을 추가합니다.

------
#### [ Geo JSON ]

```
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "coordinates": [
          [
            [
              -77.0579282196337,
              38.87264268371487
            ],
            [
              -77.05868880963534,
              38.87003145971428
            ],
            [
              -77.05560979468949,
              38.86876862025221
            ],
            [
              -77.05305311263672,
              38.87059509268525
            ],
            [
              -77.0546384387842,
              38.872985132206225
            ],
            [
              -77.0579282196337,
              38.87264268371487
            ]
          ]
        ],
        "type": "Polygon"
      }
    }
  ]
}
```

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=600&height=1024&padding=200&scale-unit=KilometersMiles&geojson-overlay=%7B%22type%22%3A%22FeatureCollection%22,%22features%22%3A%5B%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%7B%22coordinates%22%3A%5B%5B%5B-77.0579282196337,38.87264268371487%5D,%5B-77.05868880963534,38.87003145971428%5D,%5B-77.05560979468949,38.86876862025221%5D,%5B-77.05305311263672,38.87059509268525%5D,%5B-77.0546384387842,38.872985132206225%5D,%5B-77.0579282196337,38.87264268371487%5D%5D%5D,%22type%22%3A%22Polygon%22%7D%7D%5D%7D&key=your_API_Key
```

------
#### [ Response image ]

![\[Pentagon 주위의 다각형을 보여주는 예제 맵입니다.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/mapsV2/addPolygonStaticMap.png)


------

## 스타일 다각형 추가
<a name="polygon-restyle"></a>

이 예제에서는 이전 예제에 표시된 다각형의 스타일을 변경합니다. 다각형을 다른 색상(**\$1E3F70550**)으로 그립니다. 색상 구성 요소는 다음과 같습니다.
+ **E3**은 빨간색 구성 요소를 나타냅니다.
+ **F7**은 녹색 구성 요소를 나타냅니다.
+ **05**는 파란색 구성 요소를 나타냅니다.
+ **50**은 알파(불투명) 구성 요소를 나타냅니다.

------
#### [ Geo JSON ]

```
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "coordinates": [
          [
            [
              -77.0579282196337,
              38.87264268371487
            ],
            [
              -77.05868880963534,
              38.87003145971428
            ],
            [
              -77.05560979468949,
              38.86876862025221
            ],
            [
              -77.05305311263672,
              38.87059509268525
            ],
            [
              -77.0546384387842,
              38.872985132206225
            ],
            [
              -77.0579282196337,
              38.87264268371487
            ]
          ]
        ],
        "type": "Polygon"
      },
      "properties": {
        "color": "#E3F70550"
      }
    }
  ]
}
```

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&padding=100&scale-unit=KilometersMiles&geojson-overlay=%7B%22type%22%3A%22FeatureCollection%22,%22features%22%3A%5B%7B%22type%22%3A%22Feature%22,%22geometry%22%3A%7B%22coordinates%22%3A%5B%5B%5B-77.0579282196337,38.87264268371487%5D,%5B-77.05868880963534,38.87003145971428%5D,%5B-77.05560979468949,38.86876862025221%5D,%5B-77.05305311263672,38.87059509268525%5D,%5B-77.0546384387842,38.872985132206225%5D,%5B-77.0579282196337,38.87264268371487%5D%5D%5D,%22type%22%3A%22Polygon%22%7D,%22properties%22%3A%7B%22color%22%3A%22%23E3F70550%22%7D%7D%5D%7D&key=your_API_Key
```

------
#### [ Response image ]

![\[Pentagon 주위에 서로 다른 색상의 다각형을 보여주는 예제 맵입니다.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/mapsV2/addPolygonStaticMap-color.png)


------

## 여러 다각형 추가
<a name="polygon-multiple"></a>

이 예제에서는 여러 다각형을 추가하여 뉴욕의 여러 공원을 강조 표시합니다.

------
#### [ Geo JSON ]

```
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "color": "#00800050"
      },
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              -73.95824708489555,
              40.80055774655358
            ],
            [
              -73.9818875523859,
              40.76810261850716
            ],
            [
              -73.9729556303776,
              40.7642422333698
            ],
            [
              -73.94916953372382,
              40.79699323614054
            ],
            [
              -73.95824708489555,
              40.80055774655358
            ]
          ]
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "color": "#FF000050"
      },
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              -73.94432602794981,
              40.80634757577718
            ],
            [
              -73.94607200977896,
              40.803869579741644
            ],
            [
              -73.94301654157768,
              40.80263972513214
            ],
            [
              -73.94127055974795,
              40.805099411561145
            ],
            [
              -73.94432602794981,
              40.80634757577718
            ]
          ]
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "color": "#0000FF50"
      },
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              -73.9947948382843,
              40.7691390468232
            ],
            [
              -73.99564708262241,
              40.76802192177411
            ],
            [
              -73.99372953286147,
              40.76723992306512
            ],
            [
              -73.99289367783732,
              40.76835706126087
            ],
            [
              -73.9947948382843,
              40.7691390468232
            ]
          ]
        ]
      }
    }
  ]
}
```

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map?style=Satellite&width=1024&height=1024&padding=100&scale-unit=KilometersMiles&geojson-overlay=%7B%22type%22%3A%22FeatureCollection%22,%22features%22%3A%5B%7B%22type%22%3A%22Feature%22,%22properties%22%3A%7B%22color%22%3A%22%2300800050%22%7D,%22geometry%22%3A%7B%22type%22%3A%22Polygon%22,%22coordinates%22%3A%5B%5B%5B-73.95824708489555,40.80055774655358%5D,%5B-73.9818875523859,40.76810261850716%5D,%5B-73.9729556303776,40.7642422333698%5D,%5B-73.94916953372382,40.79699323614054%5D,%5B-73.95824708489555,40.80055774655358%5D%5D%5D%7D%7D,%7B%22type%22%3A%22Feature%22,%22properties%22%3A%7B%22color%22%3A%22%23FF000050%22%7D,%22geometry%22%3A%7B%22type%22%3A%22Polygon%22,%22coordinates%22%3A%5B%5B%5B-73.94432602794981,40.80634757577718%5D,%5B-73.94607200977896,40.803869579741644%5D,%5B-73.94301654157768,40.80263972513214%5D,%5B-73.94127055974795,40.805099411561145%5D,%5B-73.94432602794981,40.80634757577718%5D%5D%5D%7D%7D,%7B%22type%22%3A%22Feature%22,%22properties%22%3A%7B%22color%22%3A%22%230000FF50%22%7D,%22geometry%22%3A%7B%22type%22%3A%22Polygon%22,%22coordinates%22%3A%5B%5B%5B-73.9947948382843,40.7691390468232%5D,%5B-73.99564708262241,40.76802192177411%5D,%5B-73.99372953286147,40.76723992306512%5D,%5B-73.99289367783732,40.76835706126087%5D,%5B-73.9947948382843,40.7691390468232%5D%5D%5D%7D%7D%5D%7D&key=your_API_Key
```

------
#### [ Response image ]

![\[NYC의 공원 주위에 여러 다각형을 보여주는 예제 맵입니다.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/mapsV2/addPolygonStaticMap-multiple.png)


------

# 정적 맵의 언어를 설정하는 방법
<a name="set-language-static-map"></a>

기본 언어를 사용하지 않으려는 경우 정적 맵의 언어를 설정할 수 있습니다.

이 예제에서는 일반적으로 일본어 텍스트로 기본 설정되는 도쿄의 위치가 영어로 요청되어 리전 기본값을 덮어씁니다.

이 예제는 언어가 제공되는 요청과 언어가 제공되지 않는 요청에 대한 응답 이미지를 보여줍니다. 해당 레이블은 요청된 언어를 보여주는 맵과 기본 언어를 보여주는 맵 간의 차이를 반영합니다.

------
#### [ Request URL - English set as the language ]

```
https://maps.geo.us-east-1.amazonaws.com/v2/static/map?center=139.4575,35.539&style=Standard&lang=en&height=700&width=700&zoom=14
```

------
#### [ Response image ]

![\[Pentagon 주위의 다각형을 보여주는 예제 맵입니다.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/mapsV2/setLanguageEnglishStaticMap.png)


------

------
#### [ Request URL - default language ]

```
https://maps.geo.us-east-1.amazonaws.com/v2/static/map?center=139.4575,35.539&style=Standard&height=700&width=700&zoom=14
```

------
#### [ Response image ]

![\[Pentagon 주위의 다각형을 보여주는 예제 맵입니다.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/mapsV2/setLanguageDefaultStaticMap.png)


------

# 정적 맵에 근접 원을 추가하는 방법
<a name="how-to-add-proximity-circle"></a>

근접 원은 보고되거나 추정된 디바이스 또는 사용자 위치의 정확도에 대한 중요한 인사이트를 제공합니다. 보고된 지점 주위에 원을 표시하면 위치 결정 정밀도에 영향을 미치는 다양한 요인으로 인해 실제 위치가 원 내 어느 곳에나 해당될 수 있음을 사용자에게 알립니다. 이렇게 추가된 명확성은 의사 결정에 도움을 주며 탐색 안전성이 향상됩니다.

이 예제에서는 파리의 Eiffel Tower 근처에 500미터의 근접 원을 추가합니다.

------
#### [ Request ]

```
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          2.298151,
          48.855921
        ]
      },
      "properties": {
        "style": "circle",
        "color": "#007BFF50",
        "width": "500m"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          2.298151,
          48.855921
        ]
      },
      "properties": {
        "icon": "cp",
        "color": "#007BFF",
        "text-color":"#DC3545",
        "text-outline-color":"#007BFF",
        "outline-width":"20px",
        "label": "You are here",
        "size": "large"
      }
    }
  ]
}
```

------
#### [ Request URL ]

```
https://maps.geo.eu-central-1.amazonaws.com/v2/static/map@2x?style=Satellite&width=700&height=700&zoom=17&center=2.2958,48.8570&geojson-overlay=%7B%20%20%22type%22%3A%20%22FeatureCollection%22,%20%20%22features%22%3A%20%5B%20%20%20%20%7B%20%20%20%20%20%20%22type%22%3A%20%22Feature%22,%20%20%20%20%20%20%22geometry%22%3A%20%7B%20%20%20%20%20%20%20%20%22type%22%3A%20%22Point%22,%20%20%20%20%20%20%20%20%22coordinates%22%3A%20%5B%20%20%20%20%20%20%20%20%20%202.298151,%20%20%20%20%20%20%20%20%20%2048.855921%20%20%20%20%20%20%20%20%5D%20%20%20%20%20%20%7D,%20%20%20%20%20%20%22properties%22%3A%20%7B%20%20%20%20%20%20%20%20%22style%22%3A%20%22circle%22,%20%20%20%20%20%20%20%20%22color%22%3A%20%22%23007BFF50%22,%20%20%20%20%20%20%20%20%22width%22%3A%20%22500m%22%20%20%20%20%20%20%7D%20%20%20%20%7D,%20%20%20%20%7B%20%20%20%20%20%20%22type%22%3A%20%22Feature%22,%20%20%20%20%20%20%22geometry%22%3A%20%7B%20%20%20%20%20%20%20%20%22type%22%3A%20%22Point%22,%20%20%20%20%20%20%20%20%22coordinates%22%3A%20%5B%20%20%20%20%20%20%20%20%20%202.298151,%20%20%20%20%20%20%20%20%20%2048.855921%20%20%20%20%20%20%20%20%5D%20%20%20%20%20%20%7D,%20%20%20%20%20%20%22properties%22%3A%20%7B%20%20%20%20%20%20%20%20%22icon%22%3A%20%22cp%22,%20%20%20%20%20%20%20%20%22color%22%3A%20%22%23007BFF%22,%20%20%20%20%20%20%20%20%22text-color%22%3A%22%23DC3545%22,%20%20%20%20%20%20%20%20%22text-outline-color%22%3A%22%23007BFF%22,%20%20%20%20%20%20%20%20%22outline-width%22%3A%2220px%22,%20%20%20%20%20%20%20%20%22label%22%3A%20%22You%20are%20here%22,%20%20%20%20%20%20%20%20%22size%22%3A%20%22large%22%20%20%20%20%20%20%7D%20%20%20%20%7D%20%20%5D%7D&key=your_API_Key             
```

------
#### [ Response image ]

![\[Eiffel Tower 주위의 근접 원을 보여주는 예제 맵입니다.\]](http://docs.aws.amazon.com/ko_kr/location/latest/developerguide/images/mapsV2/addPproximityCircleStaticMap.png)


------

# 비용 및 사용량 관리
<a name="maps-whats-next"></a>

Amazon Location 맵에 대해 계속 학습하면서 서비스 용량을 관리하는 방법을 이해하고, 사용량 제한을 따르고, 할당량 및 API 최적화를 통해 최상의 결과를 얻는 것이 중요합니다. 성능과 정확성에 대한 모범 사례를 적용하면 애플리케이션을 조정하여 장소 관련 쿼리를 효율적으로 처리하고 API 요청을 극대화할 수 있습니다.

**Topics**
+ [Amazon Location Service의 모범 사례](maps-best-practices.md)
+ [맵 요금](maps-pricing.md)
+ [맵 할당량 및 사용량](map-quota-and-usage.md)

# Amazon Location Service의 모범 사례
<a name="maps-best-practices"></a>

Amazon Location Service에서 작업할 때 모범 사례를 준수하면 맵이 성능, 정확도 및 사용자 경험에 맞게 최적화됩니다. 이 섹션에서는 정적 맵, 지리적 경계, GeoJSON 데이터로 작업할 때 맵 기능 및 시각화를 개선하기 위한 주요 고려 사항을 간략하게 설명합니다.

## 동적 맵
<a name="next-dynamic-maps"></a>

다음은 Amazon Location Service에서 동적 맵으로 작업하기 위한 몇 가지 모범 사례입니다.

### MapLibre를 사용한 렌더링 최적화
<a name="next-dynamic-rendering"></a>

다음은 AWS 맵 스타일에 맞게 렌더링을 최적화하는 데 도움이 되는 MapLibre의 몇 가지 기능입니다. 자세한 내용은 [AWS 맵 스타일 및 기능](map-styles.md) 단원을 참조하십시오.

#### 스타일 검증 건너뛰기
<a name="next-dynamic-validation"></a>

 AWS 맵 스타일을 사용하는 경우를 `validateStyle`로 설정합니다`false`. 이렇게 하면 로드 시간 스타일 검증이 꺼지므로 초기 맵 로드 속도가 빨라집니다. AWS 맵 스타일은 사전 검증되므로 스타일 검증이 필요하지 않습니다.

------
#### [ Example ]

```
const map = new maplibregl.Map({
    container: 'map', // ID of the div where the map will render
    style: `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`, // Map style URL
    center: [0, 0], // Starting position [lng, lat]
    zoom: 2, // Starting zoom
    validateStyle: false, // Disable style validation for faster map load
});
```

------
#### [ Explanation ]
+ `validateStyle: true`: MapLibre GL 스타일 사양과 비교하여 맵 스타일을 검증할 수 있습니다. 스타일에 문제가 있는 경우 콘솔에 로깅됩니다.
+ 이 값을 `false`로 설정하면 맵에서 스타일 검증 프로세스를 건너뛰므로 로드 속도가 빨라지지만 오류는 확인하지 않습니다.

------

#### 맵 사전 워밍
<a name="next-dynamic-prewarm"></a>

사용자가 앱을 탐색할 때 맵을 여러 번 생성하고 삭제할 수 있는 단일 페이지 애플리케이션(SPA)의 경우, 사전 워밍 함수는 맵을 삭제한 후 다시 생성할 때 지연 시간을 줄일 수 있습니다.

이 기능은 SPA에서만 권장됩니다.

## 정적 맵
<a name="next-static-maps"></a>

### 경계, 경계 상자(상자)
<a name="bounds-bbox"></a>

맵 및 지리적 데이터로 작업할 때는 경계 상자(`bbox`)와 경계 파라미터를 정확하게 정의하는 것이 중요합니다. 해당 파라미터가 관심 있는 지리적 영역을 결정하기 때문입니다. 정확하지 않으면 원치 않는 결과가 발생할 수 있습니다.

**정확한 경계 보장**  
지정된 경계가 표시하려는 리전을 정확하게 나타내는지 확인합니다. 약간만 부정확해도 원하는 영역의 일부를 잘라내거나 제외하여 시각화의 목적을 달성하지 못할 수 있습니다.

**적절한 확대/축소 수준 확인**  
맵의 확대/축소 수준은 지정된 경계 또는 bbox를 기반으로 자동으로 계산됩니다. 결과 확대/축소 수준이 전체 관심 영역에 대한 적절한 세부 정보와 가시성을 제공하는지 확인합니다. 확대/축소가 너무 높거나 낮으면 맵이 원하는 정보를 효과적으로 전달하지 못할 수 있습니다.

**사용자 지정 오버레이 가시성 확인**  
GeoJSON 기능과 같은 사용자 지정 오버레이와 함께 bbox 또는 경계를 사용하는 경우 해당 기능의 범위가 결과 맵 이미지 내에 있는지 확인합니다. 경계를 벗어나 확장되는 기능은 잘리거나 생략될 수 있으며, 이로 인해 불완전하거나 오해의 소지가 있는 시각화로 이어질 수 있습니다.

**bbox에서 패딩 사용**  
bbox를 패딩 파라미터와 함께 사용하여 엣지 근처의 맵 기능이 완전히 표시되고 잘리지 않도록 합니다.

bbox 및 경계 파라미터를 정확하게 정의하면 맵이 원하는 지리적 영역을 올바르게 나타내고, 적절한 수준의 세부 정보를 제공하고, 사용자 지정 오버레이 또는 데이터 계층을 효과적으로 통합할 수 있습니다.

## GeoJSON
<a name="geojson-best-practices"></a>

GeoJSON 데이터를 사용할 때 GeoJSON을 최소화하여 쿼리 문자열을 최적화하면 특히 대규모 데이터세트에 대해 쿼리 문자열 제한 내로 유지하는 데 도움이 될 수 있습니다.

# 맵 요금
<a name="maps-pricing"></a>

Amazon Location Service는 맵 요청 유형과 API 직접 호출 수에 따라 맵 API에 대한 경쟁 요금을 제공합니다. 이 섹션에서는 동적 및 정적 맵의 요금 구조에 대한 개요를 제공합니다.

자세한 요금 정보는 [Amazon Location Service 요금](https://aws.amazon.com/location/pricing/)을 참조하세요.

## 동적 맵
<a name="dynamic-maps-pricing"></a>

맵 API 요금은 `GetTiles` API에서 검색한 타일 수를 기준으로 합니다.

`GetGlyphs`, `GetStyleDescriptor` 및 `GetSprites`와 같은 다른 맵 관련 API는 무료입니다.

## 정적 맵 이미지
<a name="static-maps-pricing"></a>

정적 맵 이미지 요금은 `GetStaticMap` API에 대한 요청 수를 기준으로 합니다. 정적 맵 이미지에 대한 각 요청은 요금 계산에 포함됩니다.

# 맵 할당량 및 사용량
<a name="map-quota-and-usage"></a>

Amazon Location Service는 동적 맵과 정적 맵 모두에 대해 특정 서비스 할당량 및 사용량 제한을 적용합니다. 이러한 제한은 모든 사용자에 대해 공정한 사용량 및 성능 효율성을 보장하기 위해 적용됩니다. 다음은 각 서비스에 대한 서비스 할당량 및 조정 가능한 제한입니다.

## Service Quotas
<a name="service-quota"></a>

Amazon Location Service는 서비스 용량을 관리하는 데 도움이 되도록 API의 기본 할당량을 설정합니다. 이 할당량은 [AWS Service Quotas 관리 콘솔](https://console.aws.amazon.com/servicequotas/home#!/services/geo/quotas)에서 확인할 수 있습니다. [셀프 서비스 콘솔](https://console.aws.amazon.com/servicequotas/home#!/services/geo/quotas)을 통해 각 API의 기본 한도의 최대 2배까지 할당량 증가를 요청할 수 있습니다.

할당량이 기본 한도의 2배를 초과하는 경우 셀프 서비스 콘솔을 통해 요청하면 자동으로 지원 티켓이 제출됩니다. 또는 프리미엄 지원 팀에 문의하세요.

할당량 증가 요청에 대한 직접 요금은 없지만 사용량 수준이 높을수록 소비되는 추가 리소스에 따라 서비스 비용이 증가할 수 있습니다. 자세한 내용은 [Service Quotas를 사용하여 할당량 관리](manage-quotas.md) 단원을 참조하십시오.

### 동적 맵
<a name="dynamic-map-quota"></a>


| API 이름 | 기본값 | 조정 가능한 최대 제한 | 조정 가능한 최대 한도 초과 | 
| --- | --- | --- | --- | 
|  `GetTiles`  |  2000  |  4000  | [서비스 할당량 콘솔](https://console.aws.amazon.com/servicequotas/home#!/services/geo/quotas)에 대한 요청 또는 지원 팀에 문의 | 

### 정적 맵
<a name="static-map-quota"></a>


| API 이름 | 기본값 | 조정 가능한 최대 제한 | 조정 가능한 최대 한도 초과 | 
| --- | --- | --- | --- | 
|  `GetStaticMap`  |  50  |  100  | [서비스 할당량 콘솔](https://console.aws.amazon.com/servicequotas/home#!/services/geo/quotas)에 대한 요청 또는 지원 팀에 문의 | 

## 사용량 한도
<a name="other-usage-limits"></a>


| API 이름 | Limit | 값 | 
| --- | --- | --- | 
|  `GetStyleDescriptor`  |  IP 주소별 초당 최대 요청 수입니다.  |  5000  | 
|  `GetGlyphys`  |  IP 주소별 초당 최대 요청 수입니다.  | 5000 | 
|  `GetSprites`  |  IP 주소별 초당 최대 요청 수입니다.  | 5000 | 
|  `GetStaticMap`  |  압축 후 응답 페이로드 크기입니다.  |  6MB  | 
|  `GetTiles`  |  압축 후 응답 페이로드 크기입니다.  |  6MB  | 

## 용어
<a name="terms-to-use"></a>

자세한 내용은 [이용 약관 및 데이터 저작자 표시](data-attribution.md) 단원을 참조하십시오.