

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 动态地图
<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/zh_cn/location/latest/developerguide/images/dynamic-city.png)


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

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


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

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


------

有关 AWS 地图样式的更多信息，请参阅[AWS 地图样式和功能](map-styles.md)。

## 常见使用案例
<a name="common-use-cases"></a>

**分析并可视化数据**  
将数据叠加到高质量的地图上，以发现变革性的空间模式和趋势。让您的团队能够利用地理数据创建可自定义的交互式地图可视化效果。使用地图和数据来优化选址、规划基础设施或分析市场机遇。

**提升房地产体验**  
为潜在买家提供挂牌房源的全面位置背景信息。显示房产的确切位置以及周边社区的详细信息，例如管辖区边界、当地企业、公园和学校。帮助客户找到前往待售房屋的指引路线，打造内容丰富、以位置为中心的房地产体验。

**打造引人入胜的出行体验**  
展示标出目的地的动态地图，配有详细的街景和主要地理特征。为游客和旅行者突出展示酒店、餐厅和景点等兴趣点。规划户外设施（例如徒步旅行路线），以帮助用户规划理想的行程。

## 渲染动态地图
<a name="rendering-dynamic-map"></a>

地图渲染引擎是一个负责在数字屏幕上对地图进行可视化渲染的库。渲染引擎将地图图块（向量、混合、卫星）、地图数据（点、线、多边形）或栅格数据（影像）拼接在一起，以便在 Web 浏览器或本机应用程序中显示交互式地图。Amazon Location Service 建议使用 [MapLibre](https://github.com/maplibre/maplibre-gl-js) 渲染引擎，该引擎既支持 Web 平台，也支持移动（iOS 和 Android）平台。MapLibre 还提供插件模型，并支持多种语言的用户界面进行搜索和路线规划。

有关更多信息，请参阅 [创建您的第一个 Amazon Location 地图和地点应用程序](first-app.md)。

## 请求地图资产
<a name="requesting-map-assets"></a>

渲染引擎使用一种地图样式，其中包含对地图图块、sprite（图标）和字形（字体）的引用。当用户与地图交互（加载、平移或缩放）时，渲染引擎使用所需的输入参数调用 API（针对图块、sprite 和字形）。您也可以根据应用程序的需求，直接调用这些 API。

**地图图块**  
一些小方块，包含从服务器检索并由渲染引擎汇编的数据，用于创建交互式数字地图。

**地图样式**  
一组规则，定义地图视觉外观，例如颜色和样式。Amazon Location Service 遵循 [Mapbox GL 样式规范](https://docs.mapbox.com/style-spec/guides/)。

**字形文件**  
一种包含已编码 Unicode 字符的二进制文件，由地图渲染器用来显示文本标签。

**Sprite 文件**  
一种包含小型栅格图像的便携式网络图形（PNG）图像文件，在 JSON 文件中带有位置描述。由地图渲染器用于在地图上渲染图标或纹理。

# 图块
<a name="tiles"></a>

地图图块是较大地图的一小部分，经过预先渲染，通常以方形图像的形式呈现。它们能够在不同缩放级别下仅加载可见部分，从而高效地展示地理数据。地图图块主要分为三种类型：

欲了解更多信息，请参阅[GetTile](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetTile.html)《*亚马逊定位服务 API 参考*》。

## 图块类型
<a name="tile-types"></a>

**向量地图图块**  
向量地图图块将地图数据存储为几何形状（点、线、多边形），而不是图像。这样便可创建在任何分辨率下都保持清晰的高质量、可缩放的地图。

**栅格地图图块**  
栅格地图图块是表示特定地理区域的预渲染图像。与向量图块不同，栅格图块更为简单，但缺乏灵活性，难以重新设置样式。

**混合地图图块**  
混合地图图块将向量数据和栅格数据结合在一起。它们使用向量数据作为核心地图元素（如道路），而将栅格图像用于更复杂的元素（如详细的卫星或航拍照片）。

## 向量图块层
<a name="vector-tiles-layers"></a>

以下是向量地图图块的 10 层：
+ **边界**：定义行政和地理边界，包括国家/地区、州和城市边界。
+ **建筑物和地址**：表示建筑物形状和详细地址点。
+ **地球**：显示全球地形以及诸如沙漠、山脉和森林等自然特征的覆盖情况。
+ **土地利用**：显示已分类的区域，例如公园、农田和城市区域。
+ **地点**：识别重要地点，例如城市、城镇和著名地标。
+ **兴趣点 (POIs)**：重点介绍景点、企业和其他关键地点。
+ **道路**：表示街道、高速公路和小径组成的网络。
+ **道路标签**：为道路名称和路线编号提供文本标签。
+ **交通**：描绘诸如公交车、火车和地铁等公共交通线路。
+ **水**：显示水体，包括湖泊、河流和海洋。

## 使用案例
<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 地图样式，另一种是使用样式描述符自定义地图样式。

欲了解更多信息，请参阅[GetStyleDescriptor](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetStyleDescriptor.html)《*亚马逊定位服务 API 参考*》。

## 使用预先设计 AWS 的地图样式
<a name="using-aws-map-styles"></a>

AWS 地图样式是符合行业标准的预定义样式，可提供精致、专业的美感。通过在 Amazon Location Service 中利用这些样式，您可以减少 time-to-market和消除专业制图师从头开始创建地图样式的需求。

有关更多信息，请参阅 [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 Styles 与应用程序的设计语言无缝集成，为您的最终用户提供精致而一致的地图体验。

## 开始使用 AWS 地图样式
<a name="getting-started-aws-map-styles"></a>
+ **查看提供的地 AWS 图样式**：在 Amazon Location Service 控制台中，导航至**地图**部分以浏览可用的样式。
+ **选择符合您需求的样式**：选择最符合应用程序设计和用户体验要求的样式。
+ **整合样式**：按照提供的文档，使用 Amazon Location Service 将所选样式集成到您的应用程序中， APIs 或者 SDKs。

了解有关 [如何显示地图](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 对象，其中包含多个图层，每个图层都代表一种不同的地图元素。每个图层都具有控制该元素视觉外观的属性，例如颜色、不透明度和线宽。
+ **修改图层样式**：您可以更改现有图层，也可以添加新图层以自定义样式，具体取决于您所使用的地图样式编辑器。例如，您可以调整道路的颜色，修改标签的字体大小，或者为特定位置添加自定义图标。
+ **为不同的缩放级别定义样式**：通过地图样式编辑器，您可以为不同的缩放级别定义不同的样式，这对于根据用户缩放交互来控制细节程度和可见性非常有用。
+ **测试和迭代**：修改或创建样式描述符后，应在地图上测试自定义的样式，确保其能按预期显示。反复进行调整，直至达到您所期望的视觉风格。

# 带 sprite 的样式图标
<a name="styling-iconography-with-sprites"></a>

sprite 是一种便携式网络图形（PNG）图像文件，其中包含小型栅格图像，例如图标、标记以及地图上渲染的其他元素。可以根据样式、配色方案和变体等参数自定义 sprite。Amazon Location Service 通过 `GetSprites` API 提供 sprite 表。您也可以使用自定义图标，方法是加载自己的图标集（参阅[如何在地图上添加图标](how-to-add-icon-on-map.md)），或自定义样式描述符以加载您的自定义 sprite。

欲了解更多信息，请参阅[GetSprites](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetSprites.html)《*亚马逊定位服务 API 参考*》。

## 使用案例
<a name="use-cases"></a>
+ 使用 sprite 表，为特定样式和配色方案渲染自定义地图元素。
+ 获取各种地图样式（例如标准、单色或混合）的 sprite。
+ 通过修改 sprite，自定义地图上的图标。

## 了解请求
<a name="styling-understand-the-request"></a>

该请求需要 URI 参数，例如 `ColorScheme`、`FileName` 和 `Style`。这些参数允许根据地图的配色方案、样式和所需的特定 sprite 文件对 sprite 表进行自定义。
+ **`ColorScheme`**：定义 sprite 的配色方案，例如“浅色”或“深色”。
+ **`FileName`**：要检索的 sprite 文件的名称，可以是 PNG 文件，也可以是 JSON 文件。
+ **`Style`**：指定地图样式，例如“标准”或“单色”。

## 了解响应
<a name="styling-understand-the-response"></a>

该响应包含 `CacheControl`、`ContentType` 和 `ETag` 之类的标头，并以二进制 blob 或 JSON 文件的形式返回 sprite 数据。这些标头包含缓存信息、响应的内容类型以及 sprite 数据的版本控制。
+ **`CacheControl`**：sprite 文件的缓存配置。
+ **`ContentType`**：响应的格式，表明是包含 PNG 数据，还是 JSON 数据。
+ **`ETag`**：sprite 版本的标识符，用于进行缓存验证。
+ **`Blob`**：包含 sprite 表的主体或 JSON 偏移文件。

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

![\[Collection of colorful icons representing various services and concepts in cloud computing.\]](http://docs.aws.amazon.com/zh_cn/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/zh_cn/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/zh_cn/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/zh_cn/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/zh_cn/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 粗体
+ Amazon Ember 粗体斜体
+ Amazon Ember 粗体、Noto Sans 粗体
+ Amazon Ember 粗体、Noto Sans 粗体、Noto Sans Arabic 粗体
+ Amazon Ember Condensed RC BdItalic
+ Amazon Ember Condensed RC 粗体
+ Amazon Ember Condensed RC 粗体斜体
+ Amazon Ember Condensed RC 粗体、Noto Sans 粗体
+ Amazon Ember Consending RC 粗体、Noto Sans 粗体、Noto Sans
+ Amazon Ember Condensed RC Light
+ Amazon Ember Condensed RC Light 斜体
+ Amazon Ember Condensed RC LtItalic
+ Amazon Ember Condensed RC 常规
+ Amazon Ember Condensed RC 常规斜体
+ Amazon Ember Condensed RC 常规、Noto Sans 常规
+ Amazon Ember Condensed RC 常规、Noto Sans 常规、Noto Sans Arabic Condensed 常规
+ Amazon Ember Condensed RC RgItalic
+ Amazon Ember Condensed RC ThItalic
+ Amazon Ember Condensed RC Thin
+ Amazon Ember Condensed RC Thin 斜体
+ Amazon Ember Heavy
+ Amazon Ember Heavy 斜体
+ Amazon Ember Light
+ Amazon Ember Light 斜体
+ Amazon Ember 中等
+ Amazon Ember 中等斜体
+ Amazon Ember 中等、Noto Sans 中等
+ Amazon Ember 中等、Noto Sans 中等、Noto Sans Arabic 中等
+ Amazon Ember 常规
+ Amazon Ember 常规斜体
+ Amazon Ember 常规斜体、Noto Sans 斜体
+ Amazon Ember 常规斜体、Noto Sans 斜体、Noto Sans Arabic 常规
+ Amazon Ember 常规、Noto Sans 常规
+ Amazon Ember 常规、Noto Sans 常规、Noto Sans Arabic 常规
+ Amazon Ember Thin
+ Amazon Ember Thin 斜体
+ 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 黑体
+ Noto Sans 黑体斜体
+ Noto Sans 粗体
+ Noto Sans 粗体斜体
+ Noto Sans 超粗
+ Noto Sans 超粗斜体
+ Noto Sans Extra Light
+ Noto Sans Extra Light 斜体
+ Noto Sans 斜体
+ Noto Sans Light
+ Noto Sans Light 斜体
+ Noto Sans 中等
+ Noto Sans 中等斜体
+ Noto Sans 常规
+ Noto Sans 半粗
+ Noto Sans 半粗斜体
+ Noto Sans Thin
+ Noto Sans Thin 斜体
+ NotoSans-Bold
+ NotoSans-Italic
+ NotoSans-Medium
+ NotoSans-Regular
+ Open Sans 常规、Arial Unicode MS 常规

## 了解请求
<a name="glyphs-understand-the-request"></a>

该请求接受两个必需的 URI 参数，即 `FontStack` 和 `FontUnicodeRange`，它们确定字形的字体和 Unicode 范围。`FontStack` 参数指定要使用的字体，而 `FontUnicodeRange` 定义要获取的字符范围。该请求不包含正文，仅关注实现其功能的 URI 参数。
+ **`FontStack`**：指定要检索的字体堆栈的名称。示例：“Amazon Ember 粗体、Noto Sans 粗体”。
+ **`FontUnicodeRange`**：要下载字形的 Unicode 字符范围。该范围必须是 256 的倍数区间。示例：“0-255”。

## 了解响应
<a name="glyphs-understand-the-response"></a>

该响应以二进制 blob 的形式返回字形数据，并提供用于缓存、内容类型、ETag 和定价信息的 HTTP 标头。字形数据以二进制 blob 的形式返回，以便在地图上渲染，而标头则提供用于有效处理响应的额外元数据。
+ **`CacheControl`**：指示客户端对响应的配置进行缓存。
+ **`ContentType`**：指定响应正文的格式，指明所返回字形数据的类型。
+ **`ETag`**：字形版本的标识符，用于进行缓存验证。
+ **`PricingBucket`**：表示与请求关联的定价层级。
+ **`Blob`**：以二进制 blob 形式返回的字形数据，用于渲染地图文本。