

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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/ja_jp/location/latest/developerguide/images/maps-overview.png)


Amazon Location Service Maps では、1 日あたり 500 万件の更新を行い、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 を使用して、マップレンダリングエンジンを使用せずに、シンプルなマップイメージをウェブサイト、レポート、または E メールに埋め込みます。静的マップは、アプリケーションのマーカー (ピン）、ルート、ポリゴン領域などのオーバーレイをサポートします。詳細については、[「静的マップ](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>

**アプリケーションにマップを埋め込む**  
アプリケーションにマップを構築して、位置情報ベースのエクスペリエンスを作成します。企業のロケーションを視覚化し、対象ポイントを検索して、ユーザーが特定の住所を見つけられるようにします。シームレスな位置情報共有とジオタギング機能を有効にして、顧客を引き付けます。包括的なマップデータ、堅牢なジオコーディング、柔軟なレンダリングを使用して、ニーズに合わせてカスタマイズされたインタラクティブなマップを作成します。ディレクトリ、ライド共有アプリ、ソーシャルプラットフォームのいずれを構築する場合でも、ユーザーエンゲージメントを高めてビジネスインサイトを促進する、動的で高品質のマッピングエクスペリエンスをアプリケーションに統合します。

**レポートまたは印刷用の静的マップ**  
ストリートマップの画像、衛星画像、位置ベースのビジュアルをウェブサイト、ドキュメント、アプリケーションにシームレスに追加します。静的マップを使用すると、クライアント側で複雑なレンダリングをしなくても地理的コンテキストを提供する、カスタマイズ可能なマップイメージを作成できます。受信時に配信ルートを表示したり、ドキュメントに場所の詳細を含めたり、マップをデジタルエクスペリエンスに統合したりできます。

**データの分析および視覚化**  
データを高品質のマップに重ねて、変換できる空間パターンと傾向を発見します。チームは地理的データを使用して、カスタマイズ可能なインタラクティブマップの視覚化機能を作成できます。マップとデータを使用して、サイト選択の最適化、インフラストラクチャの計画、市場機会の分析を行います。

**不動産エクスペリエンスを強化する**  
見込み客に、不動産リスティングの包括的なロケーションコンテキストを提供します。プロパティの正確な場所が、管轄区域の境界、地元の企業、公園、学校などの、周囲の詳細と共に表示されます。顧客がオープンハウスへの道順を見つけられるようにします。情報豊富でロケーションを重視した不動産エクスペリエンスを作って、顧客を引き付け、有益な情報を提供しましょう。

**魅力的な旅行体験を構築する**  
目的地を示す動的マップが、詳細なストリートビューと主要な地理的特徴と共に表示されます。ホテル、レストラン、旅行客向けの注目のスポットを紹介します。ハイキングコースなどの屋外施設をプロットして、理想的な旅行プランを計画しやすくします。

**マップを使用して災害対策の取り組みをサポートする**  
緊急時には、適時かつ正確な位置情報が不可欠です。マッピング機能を使用して、火災、台風、洪水など災害発生時にコミュニティへ重要な情報を提供するウェブサイトやアプリケーションを構築します。避難ルート、安全なシェルター、道路閉鎖、交通渋滞を示す動的マップを表示して、コミュニティが状況を迅速に評価し、情報に基づいた意思決定を行うのに役立ちます。

## スタンドアロンの Map API
<a name="maps-apis"></a>


|  API 名  |  短い説明  |  リソース  | 
| --- | --- | --- | 
|  GetStyleDescriptor  |  マップに適用できる標準、モノクロ、ハイブリッド、衛星などの使用可能なマップスタイルを取得します。  |  [AWS マップスタイルと機能](map-styles.md)  | 
|  GetTile  |  指定されたスタイルとズームレベルに基づいて個々のマップタイルを取得し、さまざまな詳細レベルでマップをレンダリングできます。  |  [タイル](tiles.md)  | 
|  GetStaticMap  |  特定の座標とパラメータに基づいて静的マップイメージを生成し、レポートや E メールにマップを埋め込むのに役立ちます。  |  [静的マップ](static-maps.md)  | 

## マップの表示
<a name="maps-display"></a>


|  Topic  |  短い説明  |  リソース  | 
| --- | --- | --- | 
|  動的マップのスタイル設定  |  Amazon Location Service には、事前に設計された AWS マップスタイルを使用した動的マップのスタイル設定と、スタイル記述子を使用したマップスタイルのカスタマイズの 2 つのオプションがあります。  | [スタイル動的マップ](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 | 
| トラフィック | リアルタイムのトラフィック条件を表示する | 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とリソースを効果的に使用できます。

**ベースマップ**  
ベースマップはマップに地理的コンテキストを提供し、ベクトルタイルレイヤーとして格納します。これらのタイルレイヤーには、道路名、建物、土地利用などの地理的特徴が含まれており、視覚的に参照できます。

**Vector**  
ベクトルデータは点、線、ポリゴンで構成され、マップ上の道路、位置、エリアを表すために使用されます。ベクトルシェイプは、マップ上のマーカーのアイコンとしても使用できます。

**Raster**  
ラスターデータはグリッドで構成される画像データで、通常は地形、衛星画像、ヒートマップなどの連続データを表します。ラスター画像はアイコンやマップのテクスチャとしても使用できます。

**マップレンダリング**  
マップレンダリングライブラリは、ランタイムに Amazon Location Service からデータを取得し、選択したマップリソースに基づいてマップをレンダリングします。マップリソースは、使用するデータプロバイダーとマップスタイルを定義します。Amazon Location Service には [MapLibre](https://maplibre.org/) レンダリングエンジンが必要です。

**ベクトルタイル**  
ベクトルタイルは、ベクトルシェイプを使用してマップデータを保存します。解像度を表示するように調整し、最適なパフォーマンスのために小さなファイルサイズを維持しながら、機能を選択的にレンダリングします。サポートされている形式:[ Mapbox Vector Tiles (MVT)](https://docs.mapbox.com/data/tilesets/guides/vector-tiles-standards/)。

**Map Style**  
マップスタイルは、マップデータの色やその他のスタイル情報を定義し、レンダリング時にマップがどのように表示されるかを決定します。Amazon Location Service は、Mapbox GL スタイル仕様に基づいてマップスタイルを提供します。

**Glyph ファイル**  
エンコードされた Unicode 文字を含むバイナリファイル。ラベルを表示するためにマップレンダラーによって使用されます。

**Sprite ファイル**  
JSON ファイル内の場所の説明に対応する、小さなラスター画像を含む Portable Network Graphic (PNG) 画像ファイル。マップレンダラーがマップ上にアイコンやテクスチャを表示するために使用されます。

**境界ボックス**  
境界ボックスは、北西部 (NW) (左上) と南東部 (SE) (右下) の 2 つの対角角点で定義されます。これらのポイントは、マップの空間的な範囲を指定します。

# カラースキーム
<a name="maps-color-scheme"></a>

Amazon Location Service では、マップのカラースキームを設定できます。color-scheme パラメータは、アプリケーションの設計とアクセシビリティのニーズにより良く合わせるために`Dark`、 `Light`や などのマップのカラーパレットを設定します。

## ライトカラースキームとダークカラースキーム
<a name="maps-color-scheme-light-dark"></a>

`Light` モードは汎用性が高く、あらゆるコンテキストに適合します。一方、`Dark`モードには、詳細を明確に表示し、暗い環境で読みやすさを維持するように設計された制約のあるパレットがあります。

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

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


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

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


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

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


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

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


------

# トポグラフィ
<a name="maps-topographic-map"></a>

地形や輪郭線などの地形の特徴は、標高の変化や地理的特徴を表示します。これにより、ユーザーはマッピングされたエリアの物理的なランドスケープと地形の特性をよりよく理解できます。

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

地形機能では、地表が標高シェーディングで表示され、標高の変化と自然地形を表します。これは、ユーザーがマッピングされたリージョン内のランドスケープの形状と構造を解釈するのに役立ちます。

API リクエストで `terrain`パラメータを使用して、リージョントポグラフィを標高シェーディングで表示します。この機能は、標高と地理的特徴のバリエーションを強調し、ユーザーが物理的な風景をよりよく視覚化するのに役立ちます。「How [to create topographic maps](https://docs.aws.amazon.com/location/latest/developerguide/how-to-create-topographic-maps.html)」を参照してください。

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


## 3D 地形
<a name="maps-topographic-3d-terrain"></a>

3D 地形機能は、地球の表面の標高データを 3 次元表面としてレンダリングするため、ユーザーは複数の角度や視点から風景を表示できます。表示角度を制御することで、ユーザーは深度認識をより簡単に取得し、マッピングされた領域全体の地形の複雑さ、傾斜、相対的な高さを評価できます。

API リクエストで `terrain`パラメータを使用して、3 次元地形の視覚化を有効にします。この機能は、地形の特徴の没入的な視点を提供し、山岳地形やさまざまな地形の空間関係を理解するのに特に役立ちます。

3D 地形と API リクエストの `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/ja_jp/location/latest/developerguide/images/zoom-hybrid-3d-terrain.gif)


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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/location/latest/developerguide/images/zoom-contours-low.gif)


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

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


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

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


------

# ナビゲーション
<a name="maps-navigation-map"></a>

`Traffic` や などのナビゲーション機能は、ナビゲーションとルート計画を強化する動的な視覚化ツール`Truck TravelModes`を提供します。これにより、ユーザーはリアルタイムの道路状況を理解し、輸送ニーズに基づいて最も効率的な旅行オプションを選択できます。

## トラフィック
<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/ja_jp/location/latest/developerguide/images/zoom-traffic-all.gif)


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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/location/latest/developerguide/images/map-travel-modes-transit.gif)


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


# ローカリゼーションと国際化
<a name="maps-localization-internationalization"></a>

Amazon Location Service は、特定の言語とリージョンのマップをカスタマイズできるローカリゼーション機能をサポートしています。これには、ローカルな場所名のサポートや、さまざまな言語でマップをレンダリングする機能が含まれます。


| [Style] (スタイル) | ポリティカルビュー | 言語 | 
| --- | --- | --- | 
| 標準 | アルゼンチン、キプロス、エジプト、ジョージア、ギリシャ、ケニア、モロッコ、パレスチナ、セルビア、ロシア、スーダン、スリナム、シリア、トゥルキエ、タンザニア、ウルグアイ | クライアント側のライブラリでサポート | 
| モノクロ | アルゼンチン、キプロス、エジプト、ジョージア、ギリシャ、ケニア、モロッコ、パレスチナ、セルビア、ロシア、スーダン、スリナム、シリア、トゥルキエ、タンザニア、ウルグアイ | クライアント側のライブラリでサポート | 
| ハイブリッド | アルゼンチン、キプロス、エジプト、ジョージア、ギリシャ、ケニア、モロッコ、パレスチナ、セルビア、ロシア、スーダン、スリナム、シリア、トゥルキエ、タンザニア、ウルグアイ | クライアント側のライブラリでサポート | 
| Satellite | サポートされません | サポートされません | 

## 言語
<a name="maps-languages"></a>

Amazon Location Service には、マップラベルとテキスト要素の言語をカスタマイズできる Maps 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/ja_jp/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/ja_jp/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 次元地形の視覚化を有効にします。この機能は、地形の特徴の没入的な視点を提供し、山岳地形やさまざまな地形の空間関係を理解するのに特に役立ちます。

3D 地形と API リクエストの `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/ja_jp/location/latest/developerguide/images/zoom-hybrid-3d-terrain.gif)


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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/location/latest/developerguide/images/zoom-3d-buildings.gif)


## Globe ビュー
<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/ja_jp/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 マップスタイルを活用することで、マップスタイルをゼロから設計および構築する時間とリソースを大量に消費するプロセスをバイパスできます。これにより、開発プロセスが加速され、コア機能に集中できるようになります。




| マップスタイル名 | 説明 | カラースキーム | 動的マップをサポート | 静的マップをサポート | 
| --- | --- | --- | --- | --- | 
| 標準 | 色付きマップスタイル | ダークおよびライト | はい | はい | 
| モノクロ | グレースケールマップスタイル | ダークおよびライト | はい | なし | 
| ハイブリッド | 衛星画像上の道路とラベルのオーバーレイ | 該当しません | はい | なし | 
| Satellite | 衛星画像ベースのマップスタイル | 該当しません | はい | はい | 

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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/location/latest/developerguide/images/map-terrain-contour-light.png) ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/images/map-terrain-contour-dark.png) 

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

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

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

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

------

## ナビゲーション
<a name="navigation"></a>

標準マップスタイルは、ナビゲーションとルートプランニングを最適化するように設計された動的視覚化を提供するオプションを提供します。ライブトラフィックデータは、輻輳、インシデント、道路状況に焦点を当てているため、ユーザーは遅延を予測し、それに応じてルートを調整できます。トラックや公共交通など、複数の移動モードを使用すると、ユーザーはルートに対して最も効率的でコンテキストに適したオプションを選択できるため、スムーズで情報に基づいたルーティングエクスペリエンスが得られます。

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

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

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

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

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

 ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/images/truck-light.png) ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/location/latest/developerguide/images/3d-terrain-light.png) ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/images/3d-terrain-dark.png) 

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

 ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/images/3d-buildings-light.png) ![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/location/latest/developerguide/images/hybrid_zoom.gif)


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

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


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

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


------

## 世界向けの設計
<a name="designed-for-the-world"></a>

ハイブリッドスタイルはさまざまなポリティカルビューをサポートし、マップにユーザーに適した境界線が表示されるようにします。このスタイルでは、マップラベルの言語を簡単に切り替えることができ、多数のサポートされている言語と書き込みシステムを使用して、ローカライズされたエクスペリエンスを確保できます。

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

Maps では、さまざまなアプリケーションの動的マップおよび静的マップの両方のマップタイプを利用できます。詳細については、「[Amazon Location Service Maps](maps.md)」を参照してください。
+ **動的マップ**: リアルタイムでカスタマイズできるインタラクティブなマップ。ユーザーはデータをパン、ズーム、オーバーレイできます。詳細については、「[動的マップ](dynamic-maps.md)」を参照してください。
+ **静的マップ**: インタラクティブ要素なしで特定の位置またはルートを表示するマップの静的画像。インタラクティブ性が限られているアプリケーションに適しています。詳細については、「[静的マップ](static-maps.md)」を参照してください。

以下の表は、Maps API で最適に解決できるビジネスユースケースをいくつか示しています。

## Maps のユースケース
<a name="maps-table"></a>

以下のセクションは、Maps API で最適に解決できるビジネスユースケースをいくつか示しています。


| **ビジネスニーズ** | **便利な API** | **例** | 
| --- | --- | --- | 
|  **インタラクティブマップを表示する** ズーム、パン、イーズ、フライ、ピッチ、回転、ベアリングなどのマップジェスチャをサポートしています。  | `GetTile` および `GetStyleDescriptor` とレンダリングエンジン (MapLibre) | [マップの表示方法](how-to-display-a-map.md) | 
|  **マップにマーカーを追加する** 例としては、マーカー、アイコンなどがあります。  |  `GetTile` および `GetStyleDescriptor` とレンダリングエンジン (MapLibre) | [マップにマーカーを追加する方法](how-to-add-marker-on-map.md) [マップにアイコンを追加する方法](how-to-add-icon-on-map.md) | 
|  **ユーザーインタラクションコンポーネントをマップに追加する** 例としては、優先言語または地政学的ビューでマップを表示します。 |  `GetTile` および `GetStyleDescriptor` とレンダリングエンジン (MapLibre) | [マップにコントロールを追加する方法](how-to-add-control-on-map.md) [マップにポップアップを追加する方法](how-to-add-popup-to-map.md) | 
| **マップでリアルタイムまたは事前に記録されたデータを視覚化する** 例としては、ヒートマップ、KML、GeoJSON 機能、ポリゴン、長方形、ポリライン、サークル、マーカーなどがあります。 | `GetTile` および `GetStyleDescriptor` とレンダリングエンジン (MapLibre) | [マップに線を追加する方法](how-to-add-line-on-map.md) [マップにポリゴンを追加する方法](how-to-add-polygon-on-map.md) | 
| **ローカリゼーションを使用してマップを表示する**例としては、優先言語または地政学的ビューでマップを表示します。 |  `GetTile` および `GetStyleDescriptor` とレンダリングエンジン (MapLibre) | [マップに優先言語を設定する方法](how-to-set-preferred-language-map.md) [マップのポリティカルビューを設定する方法](how-to-set-political-view-map.md) | 
| **静的なマップ画像を表示する** 例えば、アプリケーション、E メール、レポート、または印刷でマップ画像を使用します。 | `GetStaticMap` | [特定の位置の静的マップを取得する方法](get-static-map-specific-position.md) [特定のディメンションの静的マップを取得する方法](get-static-map-specific-dimension.md) [静的マップで radius と zoom のどちらを使用するかを決定する方法](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)  | 
| **マップ上の場所の検索および/またはジオコードの結果を視覚化する**すべての API は、自動補完を除き、地理座標を返します。 | レンダリングエンジン (MapLibre) と Places API を使用した GetTile および GetStyleDescriptor |    | 
| **マップにルートを描画する**ウェイポイントマーキングをサポートしています。 | レンダリングエンジン (MapLibre) とルートの計算機能を備えた GetTile および GetStyleDescriptor  |  | 
| **マップで一致した GPS トレースを視覚化する**トラック、歩行、車、スクーターなどの移動モードをサポートしています。 | レンダリングエンジン (MapLibre) と Snap to Road を使用した 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/ja_jp/location/latest/developerguide/images/dynamic-city.png)


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

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


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

![\[alt text not found\]](http://docs.aws.amazon.com/ja_jp/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/)に準拠します。

**Glyph ファイル**  
エンコードされた Unicode 文字を含むバイナリファイルで。テキストラベルを表示するためにマップレンダラーによって使用されます。

**Sprite ファイル**  
JSON ファイル内の場所の説明を含む小さなラスター画像を含む Portable Network Graphics (PNG) 画像ファイルです。マップレンダラーがマップ上にアイコンやテクスチャをレンダリングするために使用されます。

# タイル
<a name="tiles"></a>

マップタイルは、より大きなマップのレンダリング済みの小さなセクションであり、通常は正方形の画像として表示されます。さまざまなズームレベルで可視部分のみをロードすることにより、地理的データを効率的に表示するために使用します。マップタイルには主に次の 3 つのタイプがあります。

詳細については、「*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 マップスタイルを使用する、またはスタイル記述子を使用してマップスタイルをカスタマイズするという 2 つのオプションがあります。

詳細については、「*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 Map スタイルは、アプリケーションの設計言語とシームレスに統合され、エンドユーザーに洗練された一貫したマッピングエクスペリエンスを提供します。

## 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>

スプライトは、マップ上にレンダリングされたアイコン、マーカー、その他の要素などの小さなラスターイメージを含むポータブルネットワークグラフィック (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>
+ 特定のスタイルとカラースキームのスプライトシートを使用してカスタムマップ要素をレンダリングします。
+ スタンダード、モノクローム、ハイブリッドなど、さまざまなマップスタイルのスプライトを取得します。
+ スプライトを変更してマップ上のアイコノグラフィーをカスタマイズします。

## リクエストを理解する
<a name="styling-understand-the-request"></a>

リクエストには、`ColorScheme`、`FileName`、`Style` などの URI パラメータが必要です。これらのパラメータにより、マップのカラースキーム、スタイル、必要な特定のスプライトファイルに基づいてスプライトシートをカスタマイズできます。
+ **`ColorScheme`**: 「ライト」や「ダーク」など、スプライトのカラースキームを定義します。
+ **`FileName`**: 取得するスプライトファイルの名前。PNG ファイルまたは JSON ファイルです。
+ **`Style`**: 「スタンダード」や「モノクローム」などのマップスタイルを指定します。

## レスポンスを理解する
<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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/location/latest/developerguide/images/styling-hybrid.png)


------

# グリフでラベルのスタイルを設定する
<a name="styling-labels-with-glyphs"></a>

グリフは、エンコードされた Unicode 文字を含むバイナリファイルで、ラベルを表示するためにマップレンダラーによって使用されます。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>
+ 特定のフォントとスタイルのマップでカスタムテキストをレンダリングします。
+ ローカライズされたマップテキストレンダリングのグリフを取得します。
+ Unicode 文字範囲を使用してマップラベルと記号を表示します。
+ フォントスタックとグリフ範囲に基づいてマップフォントレンダリングを最適化します。

## 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 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>

リクエストは、グリフのフォントと Unicode 範囲を決定する `FontStack`と `FontUnicodeRange` の 2 つの必須 URI パラメータを受け入れます。`FontStack` パラメータは使用するフォントを指定し、`FontUnicodeRange` は取得する文字範囲を定義します。リクエストには本文が含まれず、その機能の URI パラメータのみに焦点を当てます。
+ **`FontStack`**: 取得するフォントスタックの名前を指定します。例: 「Amazon Ember Bold, Noto Sans Bold」
+ **`FontUnicodeRange`**: グリフをダウンロードする Unicode の文字範囲。範囲は 256 の倍数にする必要があります。例: 「0-255」

## レスポンスを理解する
<a name="glyphs-understand-the-response"></a>

レスポンスは、キャッシュ用の HTTP ヘッダー、コンテンツタイプ、ETag、料金情報と共に、グリフデータをバイナリブロブとして返します。グリフデータは、マップにレンダリングされるバイナリブロブとして返され、ヘッダーはレスポンスを効果的に処理するための追加のメタデータを提供します。
+ **`CacheControl`**: レスポンスのキャッシュ設定をクライアントに指示します。
+ **`ContentType`**: 返されるグリフデータのタイプを示すレスポンス本文の形式を指定します。
+ **`ETag`**: キャッシュ検証に使用されるグリフのバージョン識別子。
+ **`PricingBucket`**: リクエストに関連付けられた料金階層を示します。
+ **`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 など) が含まれます。
+ **E メール内の場所の詳細:** 静的マップイメージを使用して、エンドユーザーが E メールのコンテキストを理解できるように、E メールで位置情報を共有できます。例えば、食品配送アプリやライドシェアアプリでは、静的マップイメージを使用して、集荷/返却場所、ルート、または周辺エリアを、旅行後または配送後の E メールに請求書と概要を含めて表示します。
+ **マーケティング資料と印刷されたドキュメント:** カスタマイズされた静的マップイメージを冊子、チラシ、またはその他の印刷物に組み込むことができ、コンテンツに関連する地理的情報の視覚的に魅力のある表現を提供します。

## リクエストを理解する
<a name="static-maps-understanding-request"></a>

リクエストには、マップの可視領域とオーバーレイを定義する、`BoundingBox`、`BoundedPositions`、`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` はサポートされません。

コンパクトオーバーレイオプションを使用すると、単一のクエリパラメータを使用して、静的マップに複数のジオメトリを効率的に表示できます。この合理化されたアプローチにより、リクエスト形式が簡素化され、リクエストのサイズが小さくなり、オーバーレイデータの送信が容易になります。顧客はさまざまなジオメトリタイプとそれに対応するスタイルプロパティを 1 つのクエリパラメータに入力でき、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>

このセクションでは、Maps 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 では、ナビゲーション、位置情報、全画面表示、スケール、属性など、複数のコントロールをマップに追加できます。
+ **ナビゲーションコントロール**: ズームボタンとコンパスが含まれています。
+ **Geolocate コントロール**: ブラウザの geolocation 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)
});
```

### Geolocate コントロールのオプション
<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 座標を 1 つずつ追加して、リアルタイム 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>

この例では、1 つ目のポップアップを追加します。

### 最初のポップアップコードの例
<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>

この例では、キプロスに対して、国際的な視点とトルコの視点という 2 つの異なるポリティカルビューからマップを作成して比較します。

### ポリティカルビュー比較の例
<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 の例
<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 の両方の密度線を表示する
<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) を使用して、公共交通の詳細を表示します。

## トラック 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`が表示されます。また、追加のオプションについて、[ロジスティックス 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>

この例では、Globe ビュー射影を有効または無効にする方法を示します。デフォルトでは、Globe ビューは有効になっています。

### Globe ビューの例
<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)
+ [静的マップで radius と zoom のどちらを使用するかを決定する方法](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/ja_jp/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/ja_jp/location/latest/developerguide/images/static-bounding-box.png)


------

## 境界位置のマップイメージを取得する
<a name="get-map-bounded-positions"></a>

この例では、座標 (経度、緯度) で指定されたパリにある複数の必見スポットをカバーするマップを生成します。境界位置には、エッフェル塔、ルーブル美術館、ノートルダム大聖堂、シャンゼリゼ、エトワール凱旋門、サクレクール寺院、リュクサンブール公園、オルセー通り、コンコルド広場、ガルニエ宮などがあります。

境界位置の形式は `{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/ja_jp/location/latest/developerguide/images/static-bounding-position.png)


------

# 特定のディメンションの静的マップを取得する方法
<a name="get-static-map-specific-dimension"></a>

このトピックでは、Amazon Location Service を使用して静的マップのディメンション (高さと幅) を設定する方法について説明します。マップイメージのディメンションをカスタマイズすることにより、パフォーマンス、ビジュアル品質、使いやすさのバランスを取ることができます。`width` と `height` の両方の最大値は 1400 ピクセルで、最小値は 64 ピクセルです。クエリ結果の最大サイズは 6 MB です。

さらに、`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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/location/latest/developerguide/images/static-specific-dimension-no-padding.png)


------

# 静的マップで radius と zoom のどちらを使用するかを決定する方法
<a name="choose-radius-vs-zoom"></a>

このトピックでは、Amazon Location Service で静的マップを生成するときに、`radius` を使用するか、`zoom` を使用するかを選択する方法について説明します。`radius` パラメータは、カバレッジの領域をより正確に制御するため、カバレッジエリアを正確に把握している顧客向けアプリケーションに最適です。`zoom` パラメータは、表示される詳細レベルを調整する際の地理空間分析に適しています。

## radius を使用する場合
<a name="with-radius"></a>

この例では、中央位置を指定して `radius` パラメータを使用し、スリランカのマップイメージを作成します。

------
#### [ 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/ja_jp/location/latest/developerguide/images/static-radius.png)


------

## zoom を使用した場合
<a name="with-zoom"></a>

この例では、中央位置を指定して `zoom` パラメータを使用し、スリランカのマップイメージを作成します。

------
#### [ 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/ja_jp/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/ja_jp/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/ja_jp/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, Vancouver のマップ画像にラベル付きのマーカーを配置します。

`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/ja_jp/location/latest/developerguide/images/static-add-marker.png)


------

## マップ画像に複数のマーカーを追加する
<a name="add-multiple-markers"></a>

この例では、座標 (経度、緯度) を使用して、フィンランドのヘルシンキの必見の場所にマーカーを追加します。パディングを適用して、マップがすべてのマーカーに適応するように調整することもできます。

**注記**  
使用できるマーカーアイコンのタイプには、`cp` (近接円)、`diamond, pin, poi, square, triangle, bubble` が含まれます。

`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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/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/ja_jp/location/latest/developerguide/images/static-add-route-compact.png)


------

# 静的マップにポリゴンを追加する方法
<a name="how-to-add-polygon-static"></a>

建物と場所は、ペンタゴン (ワシントン D.C. にある) など、周囲にポリゴンを指定することによりマップ上で強調表示できます。

## 単一のポリゴンを追加する
<a name="polygon-single"></a>

この例では、マップにペンタゴンビル用のポリゴン (五角形) を追加します。

------
#### [ 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 ]

![\[ペンタゴンを囲むポリゴンを示すマップの例。\]](http://docs.aws.amazon.com/ja_jp/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 ]

![\[ペンタゴンの周囲に異なる色のポリゴンを示すマップの例。\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/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 ]

![\[ペンタゴンを囲むポリゴンを示すマップの例。\]](http://docs.aws.amazon.com/ja_jp/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 ]

![\[ペンタゴンを囲むポリゴンを示すマップの例。\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/images/mapsV2/setLanguageDefaultStaticMap.png)


------

# 静的マップに近接円を追加する方法
<a name="how-to-add-proximity-circle"></a>

近接円は、報告されたまたは推定されたデバイスやユーザーの位置情報がどれくらい正確かを示す重要な指標となります。報告された地点の周りに円を表示することにより、ユーザーは、位置精度に影響を与えるさまざまな要因により、実際の位置がその円内のどこかにある可能性があることを認識できます。このように明確にすることにより意思決定が容易になり、ナビゲーションの安全性が向上します。

この例では、パリのエッフェル塔の近くに 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 ]

![\[エッフェル塔を囲む近接円を示すマップの例。\]](http://docs.aws.amazon.com/ja_jp/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 または bounds を使用する場合は、機能の範囲が結果のマップイメージ内にあることを確認します。境界を越えて拡張された機能はクリップまたは省略され、不完全な視覚化や、誤解を招く視覚化につながる可能性があります。

**bbox でパディングを使用する**  
bbox をパディングパラメータと共に使用して、エッジ近くのマップ機能を完全に表示し、切れないようにします。

bbox および bounds パラメータを正確に定義することにより、マップが目的の地理的領域を正しく表し、適切な詳細レベルを提供し、カスタムオーバーレイまたはデータレイヤーを効果的に組み込めます。

## GeoJSON
<a name="geojson-best-practices"></a>

GeoJSON データを使用する場合、GeoJSON を最小にしてクエリ文字列を最適化すると、特に大規模なデータセットでクエリ文字列の制限内に収まるようになります。

# マップの料金
<a name="maps-pricing"></a>

Amazon Location Service は、マップリクエストの種類と実行された API コールの数に基づいて、Maps API の競争力のある料金を提供します。このセクションでは、動的マップと静的マップの料金構造の概要を説明します。

料金の詳細については、「[Amazon Location Service の料金](https://aws.amazon.com/location/pricing/)」を参照してください。

## 動的マップ
<a name="dynamic-maps-pricing"></a>

Maps 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 は、動的マップと静的マップの両方に特定のサービスクォータと使用制限を課します。これらの制限は、すべてのユーザーに公平な使用とパフォーマンス効率を確保するために設定されています。以下は、各サービスのサービスクォータと調整可能な制限です。

## サービスクォータ
<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 名 | 制限 | 値 | 
| --- | --- | --- | 
|  `GetStyleDescriptor`  |  IP アドレスあたりの 1 秒あたりの最大リクエスト数。  |  5000  | 
|  `GetGlyphys`  |  IP アドレスあたりの 1 秒あたりの最大リクエスト数。  | 5000 | 
|  `GetSprites`  |  IP アドレスあたりの 1 秒あたりの最大リクエスト数。  | 5000 | 
|  `GetStaticMap`  |  圧縮後のレスポンスペイロードサイズ。  |  6 MB  | 
|  `GetTiles`  |  圧縮後のレスポンスペイロードサイズ。  |  6 MB  | 

## 用語
<a name="terms-to-use"></a>

詳細については、「[利用規約とデータアトリビューション](data-attribution.md)」を参照してください。