# @deck\.gl-community/leaflet 中文文档

规范地址：https://npmcn.com/package/%40deck.gl-community/leaflet/

版本：9\.4\.10
npm 元数据更新时间：2026-11-02T14:07:32.481Z
中文译文更新时间：2026-11-11T19:14:38.069Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40deck.gl-community/leaflet
原文对照：https://npmcn.com/package/%40deck.gl-community/leaflet/?lang=original
项目主页：https://github.com/visgl/deck.gl-community#readme
源码仓库：https://github.com/visgl/deck.gl-community

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

- 包体积（解压后）：42.8 kB，26 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：leaflet ^1\.9\.4，@deck\.gl/core ~9\.4\.1
- 首次发布：2025-11-17T14:43:34.863Z
- 最新版本发布：2026-11-02T14:07:31.796Z
- 近 30 天下载量：33220（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：31（近 12 个月 31 个）

## 中文简介

deck.gl 与叶片集成

## 安装

```sh
npm install @deck.gl-community/leaflet
```

也可以使用：`pnpm add @deck.gl-community/leaflet`、`yarn add @deck.gl-community/leaflet`、`bun add @deck.gl-community/leaflet`

## README

# @deck.gl-社区/叶子

[![NPM Version](https://img.shields.io/npm/v/@deck.gl-community/leaflet.svg)](https://www.npmjs.com/package/@deck.gl-community/leaflet) [![NPM Downloads](https://img.shields.io/npm/dw/@deck.gl-community/leaflet.svg)](https://www.npmjs.com/package/@deck.gl-community/leaflet)

此模块允许 [传单](https://leafletjs.com/) 用作一种 [甲板.gl (英语)](https://deck.gl/) 基础图.

更确切地说,它提供了一个叶片自定义层来包裹一个甲板.gl渲染器,使甲板.gl能够使地层与叶片基图同步.

## 安装

```bash
npm install deck.gl @deck.gl-community/leaflet leaflet
```

## 使用量

```js
import {DeckOverlay} from '@deck.gl-community/leaflet';
import {MapView} from '@deck.gl/core';
import {GeoJsonLayer, ArcLayer} from '@deck.gl/layers';
import * as L from 'leaflet';
import 'leaflet/dist/leaflet.css';

// source: Natural Earth http://www.naturalearthdata.com/ via geojson.xyz
const AIR_PORTS =
  'https://d2ad6b4ur7yvpq.cloudfront.net/naturalearth-3.3.0/ne_10m_airports.geojson';

// Create map
const map = L.map(document.getElementById('map'), {
  center: [51.47, 0.45],
  zoom: 4,
});
L.tileLayer('https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/BlueMarble_ShadedRelief_Bathymetry/default/GoogleMapsCompatible_Level8/{z}/{y}/{x}.jpeg', {
  maxZoom: 22,
  maxNativeZoom: 8,
  attribution: 'Imagery courtesy NASA GIBS',
}).addTo(map);

// Add deck.gl overlay
const deckOverlay = new DeckOverlay({
  views: [
    new MapView({ repeat: true }),
  ],
  layers: [
    new GeoJsonLayer({
      id: 'airports',
      data: AIR_PORTS,
      // Styles
      filled: true,
      pointRadiusMinPixels: 2,
      pointRadiusScale: 2000,
      getPointRadius: (f) => 11 - f.properties.scalerank,
      getFillColor: [200, 0, 80, 180],
      // Interactive props
      pickable: true,
      autoHighlight: true,
      onClick: (info) =>
        // eslint-disable-next-line
        info.object && alert(`${info.object.properties.name} (${info.object.properties.abbrev})`)
    }),
    new ArcLayer({
      id: 'arcs',
      data: AIR_PORTS,
      dataTransform: (d: any) => d.features.filter((f) => f.properties.scalerank < 4),
      // Styles
      getSourcePosition: (f) => [-0.4531566, 51.4709959], // London
      getTargetPosition: (f) => f.geometry.coordinates,
      getSourceColor: [0, 128, 200],
      getTargetColor: [200, 0, 80],
      getWidth: 1
    })
  ],
  getTooltip: (info) => info.object && info.object.properties.name
});
map.addLayer(deckOverlay);
```

## API 参考

### 笼盖

执行 [莱尔](https://leafletjs.com/reference.html#layer)。 。 。 .

```js
const deckOverlay = new DeckOverlay({
  views: [
    new MapView({ repeat: true }),
  ],
  layers: [...],
});
map.addLayer(deckOverlay);
```

构造器接受传递到 [地标](https://deck.gl/docs/api-reference/core/deck) 建筑师。 见 [限制](https://npmcn.com/package/%40deck.gl-community/leaflet/#readme-supported-features-and-limitations) 详细情况见下文.

以下内容: [凹槽方法](https://deck.gl/docs/api-reference/core/deck#methods) 可以从 a 直接调用 `DeckOverlay` 实例:

-   `deckOverlay.setProps`
-   `deckOverlay.pickObject`
-   `deckOverlay.pickMultipleObjects`
-   `deckOverlay.pickObjects`

## 支持的特征和限制

支持的 deck.gl 特性 :

-   层
-   效果
-   自动突出显示
-   属性过渡
-   `onHover` 财务报告和审定财务报表 `onClick` 调用
-   工具提示

不支持的特性 :

-   倾斜
-   多种观点
-   主计长
-   反应整合
-   手势事件召回(如. `onDrag*`(中文(简体) )

## 常见问题

### @deck\.gl-community/leaflet 是什么？

deck\.gl 与叶片集成

### 如何安装 @deck\.gl-community/leaflet？

在项目目录运行 npm install @deck\.gl-community/leaflet，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：leaflet（^1\.9\.4）、@deck\.gl/core（~9\.4\.1）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @deck\.gl-community/leaflet 支持 TypeScript 吗？

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

### @deck\.gl-community/leaflet 支持 ESM 还是 CommonJS？

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

### @deck\.gl-community/leaflet 可以商用吗？

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

### @deck\.gl-community/leaflet 的下载量有多少？

根据 npm 官方下载统计，@deck\.gl-community/leaflet 在 2026/10/12 – 2026/11/10 这 30 天内被下载 33,220 次，日均约 1,107 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @deck\.gl-community/leaflet 还在维护吗？

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

