# @aws/polyline 中文文档

规范地址：https://npmcn.com/package/%40aws/polyline/

版本：0\.1\.4
npm 元数据更新时间：2026-06-22T20:38:36.977Z
中文译文更新时间：2026-11-07T16:07:44.215Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aws/polyline
原文对照：https://npmcn.com/package/%40aws/polyline/?lang=original
项目主页：https://github.com/aws-geospatial/polyline
源码仓库：https://github.com/aws-geospatial/polyline

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：189 kB，41 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：1 个
- 首次发布：2024-10-29T18:54:34.098Z
- 最新版本发布：2025-10-21T19:28:39.189Z
- 近 30 天下载量：5424（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 0 个）

## 中文简介

用于编码和解码多线的库

## 安装

```sh
npm install @aws/polyline
```

也可以使用：`pnpm add @aws/polyline`、`yarn add @aws/polyline`、`bun add @aws/polyline`

## README

# @ aws/ polyline (缩写)

此库简化了使用压缩几何的过程 [映射- gl- js](https://github.com/maplibre/maplibre-gl-js) 在JavaScript应用程序中.

以地点为基础的服务提供者有时使用 [编码多行算法格式](https://developers.google.com/maps/documentation/utilities/polylinealgorithm) 以减小可以返回大量坐标阵列的API的响应大小,例如路由和同位素API. 这个库中的公用方法将数据压缩并解压缩为可以直接在MapLibre中渲染的GeoJSON.

## 安装

从国家防范机制安装此库供模块使用:

```console
npm install @aws/polyline
```

也可以导入Javascript文件,直接用于浏览器.

```html
<script src="https://cdn.jsdelivr.net/npm/@aws/polyline/dist/polyline.min.js"></script>
```

## 使用量

导入库并按需要调用顶级命名空间中的公用功能 . 您可以在 [文档](https://npmcn.com/package/%40aws/polyline/#readme-documentation) 节.

### 模块的使用

```javascript
import { decodeToLineStringFeature } from "@aws/polyline";

var decodedGeoJSON = decodeToLineStringFeature(response.EncodedPolyline);
map.addLayer({
  id: "route",
  type: "line",
  source: {
    type: "geojson",
    data: decodedGeoJSON,
  },
  layout: {
    "line-join": "round",
    "line-cap": "round",
  },
  paint: {
    "line-color": "#3887be",
    "line-width": 5,
    "line-opacity": 0.75,
  },
});
```

### 使用浏览器

```html
<!-- Import the Polyline library -->
<script src="https://cdn.jsdelivr.net/npm/@aws/polyline/dist/polyline.min.js"></script>
```

```javascript
var decodedGeoJSON = polyline.decodeToLineStringFeature(
  response.EncodedPolyline,
);
map.addLayer({
  id: "route",
  type: "line",
  source: {
    type: "geojson",
    data: decodedGeoJSON,
  },
  layout: {
    "line-join": "round",
    "line-cap": "round",
  },
  paint: {
    "line-color": "#3887be",
    "line-width": 5,
    "line-opacity": 0.75,
  },
});
```

## 文档

详细文件见下面 `/docs/index.html` 运行生成后 :

```console
npm run typedoc
```

### 获取压缩算法

返回当前选中的压缩算法。 这也可以是 `FlexiblePolyline`, (中文(简体) ), `Polyline5`,或 `Polyline6`。 。 。 .

```js
const compressionType = polyline.getCompressionAlgorithm();
```

### 压缩算法

设置压缩算法用于随后的编码/解码调用. 这也可以是 `FlexiblePolyline`, (中文(简体) ), `Polyline5`,或 `Polyline6`。 。 。 .

```js
polyline.setCompressionAlgorithm(polyline.FlexiblePolyline);
```

### 来自 LngLat 箭头的编码

它将经纬度,纬度顺序的一系列坐标编码为压缩的多线数据. 数据可包含一个可选的 第3个维度,用于编码 `FlexiblePolyline` 算法. 虽然MapLibre渲染不需要这个,但您可能需要它来压缩请求的数据 在请求与路由相关的数据时,将联系到地点服务提供方.

```js
const polylineString = polyline.encodeFromLngLatArray([
  [5.0, 0.0],
  [10.0, 0.0],
]);
```

### 解码为 LineStringFeature

这是最常用的方法. 它将压缩的多行数据解码为 GeoJSON 包含可被直接用作映射的MapLibre源的LineString的特性.

```js
const geoJsonLineStringFeature =
  polyline.decodeToLineStringFeature(polylineString);
```

### 解码为PolygonFeature

类似 `decodeToLineStringFeature` 它将一系列压缩多线环解码为 GeoJSON 地物中包含一个多边形,可以直接用作MapLibre源来进行渲染. 当压缩数据意在表示多边形环时,应当使用此功能,因为它将 并生成环的正确向风顺序,用于GeoJSON.

```js
const geoJsonPolygonFeature = polyline.decodeToPolygonFeature(polylineString);
```

### 解码为线条串

这把压缩的多线解码为GeoJSON LineString. 线条串可以嵌入到 `geometry` 区域.

```js
const geoJsonLineString = polyline.decodeToLineString(polylineString);
```

### 解码为Polygon

这解码出一系列被压缩的多线环成GeoJSON Polygon. 多边形可以嵌入到 `geometry` 区域.

```js
const geoJsonPolygon = polyline.decodeToPolygon(polylineString);
```

### 解码为 LngLat 箭头

它将压缩的多线数据解码成经纬度,纬度顺序的坐标数组. 这种方法在需要直接使用坐标数据时很有帮助.

```js
const lngLatArray = polyline.decodeToLngLatArray(polylineString);
```

## 警卫

见 [捐款](https://npmcn.com/package/%40aws/polyline/CONTRIBUTING.md#security-issue-notifications) 更多信息.

## 获取帮助

与我们团队互动的最佳方式是通过GitHub. 你们可以 [打开一个问题](https://github.com/aws-geospatial/polyline/issues/new/choose) 从我们的模板中选择一个 [错误报告](https://github.com/aws-geospatial/polyline/issues/new?assignees=&labels=bug%2C+needs-triage&template=---bug-report.md&title=) 或者说 [特性请求](https://github.com/aws-geospatial/polyline/issues/new?assignees=&labels=feature-request&template=---feature-request.md&title=)。 。 。 . 如果您有支持计划 [AWS 支持](https://aws.amazon.com/premiumsupport/),也可以创建新的支持案件.

## 捐款

我们欢迎社区的贡献并征求他们的意见。 见 [捐款](https://npmcn.com/package/%40aws/polyline/CONTRIBUTING.md) 关于如何建立开发环境和提交代码的信息.

## 许可证

这个图书馆根据MIT-0许可证获得许可. 见 [自由主义](https://npmcn.com/package/%40aws/polyline/LICENSE) 文档.

## 常见问题

### @aws/polyline 是什么？

用于编码和解码多线的库

### 如何安装 @aws/polyline？

在项目目录运行 npm install @aws/polyline，或使用 pnpm add / yarn add / bun add。

### @aws/polyline 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @aws/polyline 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @aws/polyline 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @aws/polyline 可以商用吗？

@aws/polyline 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @aws/polyline 的下载量有多少？

根据 npm 官方下载统计，@aws/polyline 在 2026/10/08 – 2026/11/06 这 30 天内被下载 5,424 次，日均约 181 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @aws/polyline 还在维护吗？

最新版本 0\.1\.4 发布于 2025/10/22（1 年前）；至今共发布 4 个版本，其中过去 12 个月发布了 0 个；首次发布于 2024/10/30。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

