@ aws/ polyline (缩写)
此库简化了使用压缩几何的过程 映射- gl- js 在JavaScript应用程序中.
以地点为基础的服务提供者有时使用 编码多行算法格式 以减小可以返回大量坐标阵列的API的响应大小,例如路由和同位素API. 这个库中的公用方法将数据压缩并解压缩为可以直接在MapLibre中渲染的GeoJSON.
安装
从国家防范机制安装此库供模块使用:
npm install @aws/polyline
也可以导入Javascript文件,直接用于浏览器.
<script src="https://cdn.jsdelivr.net/npm/@aws/polyline/dist/polyline.min.js"></script>
使用量
导入库并按需要调用顶级命名空间中的公用功能 . 您可以在 文档 节.
模块的使用
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,
},
});
使用浏览器
<!-- Import the Polyline library -->
<script src="https://cdn.jsdelivr.net/npm/@aws/polyline/dist/polyline.min.js"></script>
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 运行生成后 :
npm run typedoc
获取压缩算法
返回当前选中的压缩算法。 这也可以是
FlexiblePolyline, (中文(简体) ), Polyline5,或 Polyline6。 。 。 .
const compressionType = polyline.getCompressionAlgorithm();
压缩算法
设置压缩算法用于随后的编码/解码调用. 这也可以是
FlexiblePolyline, (中文(简体) ), Polyline5,或 Polyline6。 。 。 .
polyline.setCompressionAlgorithm(polyline.FlexiblePolyline);
来自 LngLat 箭头的编码
它将经纬度,纬度顺序的一系列坐标编码为压缩的多线数据.
数据可包含一个可选的 第3个维度,用于编码 FlexiblePolyline 算法.
虽然MapLibre渲染不需要这个,但您可能需要它来压缩请求的数据
在请求与路由相关的数据时,将联系到地点服务提供方.
const polylineString = polyline.encodeFromLngLatArray([
[5.0, 0.0],
[10.0, 0.0],
]);
解码为 LineStringFeature
这是最常用的方法. 它将压缩的多行数据解码为 GeoJSON 包含可被直接用作映射的MapLibre源的LineString的特性.
const geoJsonLineStringFeature =
polyline.decodeToLineStringFeature(polylineString);
解码为PolygonFeature
类似 decodeToLineStringFeature 它将一系列压缩多线环解码为 GeoJSON
地物中包含一个多边形,可以直接用作MapLibre源来进行渲染.
当压缩数据意在表示多边形环时,应当使用此功能,因为它将
并生成环的正确向风顺序,用于GeoJSON.
const geoJsonPolygonFeature = polyline.decodeToPolygonFeature(polylineString);
解码为线条串
这把压缩的多线解码为GeoJSON LineString. 线条串可以嵌入到 geometry
区域.
const geoJsonLineString = polyline.decodeToLineString(polylineString);
解码为Polygon
这解码出一系列被压缩的多线环成GeoJSON Polygon. 多边形可以嵌入到
geometry 区域.
const geoJsonPolygon = polyline.decodeToPolygon(polylineString);
解码为 LngLat 箭头
它将压缩的多线数据解码成经纬度,纬度顺序的坐标数组. 这种方法在需要直接使用坐标数据时很有帮助.
const lngLatArray = polyline.decodeToLngLatArray(polylineString);
警卫
见 捐款 更多信息.
获取帮助
与我们团队互动的最佳方式是通过GitHub. 你们可以 打开一个问题 从我们的模板中选择一个 错误报告 或者说 特性请求。 。 。 . 如果您有支持计划 AWS 支持,也可以创建新的支持案件.
捐款
我们欢迎社区的贡献并征求他们的意见。 见 捐款 关于如何建立开发环境和提交代码的信息.
许可证
这个图书馆根据MIT-0许可证获得许可. 见 自由主义 文档.