GitRead 中文社区
首页趋势排行榜原创文章严选周刊
更多资源
新手训练营
精选专题热门话题GitHub 文档资源精选实战指南

maptalks.js

A light and plugable JavaScript library for integrated 2D/3D maps.

  • 语言HTML
  • 默认分支master
  • 大小332.8 MB
  • 更新1 周前
  • Issues115
在 GitHub 打开
avatarmaptalks

项目介绍

maptalks/maptalks.js 是一个托管在 GitHub 上的开源项目,主要使用 HTML 编写,目前获得 4.5k 个 Star、507 次 Fork。

仓库全名
maptalks/maptalks.js

README 摘要

maptalks-gl NOTICE maptalks is upgrading to maptalks-gl, a webgl and webgpu driven 2D/3D map engine. If you are looking for the old maptalks source codes, it has moved to packages/maptalks as a submodule. About maptalks-gl will be a pure WebGL driven map engine with performance and rich features in 3D. maptalks-gl is in active development now, and will be officially published in few months. With consistent API…

完整内容见 GitHub 原始 README 或本页 。

常见问题

maptalks.js 用什么语言开发?

主要使用 HTML 编写,目前有 4.5k 个 Star。

如何获取 maptalks.js 的源码?

可以直接克隆仓库:git clone https://github.com/maptalks/maptalks.js.git,默认分支为 master;安装与运行步骤见仓库 README。

maptalks.js 最近还在维护吗?

仓库最近一次更新为 1 周前,当前有 115 个未关闭 Issue;Star 数为 4.5k,可作为社区活跃度的参考。

本页面展示项目元数据与原始 README,GitRead 中文社区 编辑团队负责选题收录。

相关仓库

ossu/computer-science avatar
computer-scienceossu
1 天前
211.1k
26.1k
29

通往免费计算机科学自学教育之路!

awesome-listcomputer-sciencecourses+1
HTML
1.8 MB
2
详情
ripienaar/free-for-dev avatar
free-for-devripienaar
17 小时前
142.4k
14.8k
0

一份提供免费套餐、对 devops 和 infradev 有吸引力的 SaaS、PaaS 和 IaaS 服务列表

free-for-developersawesome-list
HTML
11.2 MB
0
详情
PKUFlyingPig/cs-self-learning avatar
cs-self-learningPKUFlyingPig
9月17日
76.7k
8.0k
167

计算机自学指南

HTML
70.4 MB
0
详情
eternity4719/HowToLiveBetter avatar
HowToLiveBettereternity4719
1 天前
74.7k
6.6k
13

高性价比人生指南: 长寿防病、急救、省钱理财、法律红线、失业与工伤、医保社保、恋爱婚育、怀孕育儿、创业与做平台合规、出国与技能。每条写明成本、收益、证据等级和原始出处,只引期刊论文与官方文件。

HTML
22.4 MB
0
详情
shanraisshan/claude-code-best-practice avatar
claude-code-best-practiceshanraisshan
7 小时前
68.9k
6.9k
46

从氛围编程到智能体工程——实践让 Claude 臻于完美

agentic-aiagentic-codingagentic-engineering+17
HTML
72.8 MB
0
详情
cathrynlavery/diagram-design avatar
diagram-designcathrynlavery
15 小时前
66.2k
4.4k
48

面向 Claude Code、Codex、GitHub Copilot、Cursor、Factory Droid、Qoder 和 Pi 的编辑级图表设计。45 种图表类型。自包含 HTML + SVG。无阴影。拒绝 Mermaid 式粗糙产物。

agent-skillsclaude-codecodex+5
HTML
37.6 MB
0
详情
docker/awesome-compose avatar
awesome-composedocker
2 周前
46.7k
8.1k
109

精选 Docker Compose 示例

awesomeawesome-listdocker-compose
HTML
11.5 MB
0
详情
tabler/tabler avatar
tablertabler
14 小时前
42.0k
4.4k
88

Tabler 是基于 Bootstrap 构建的免费开源 HTML 仪表盘 UI 套件

admin-dashboardadminpanelboilerplate-template+17
HTML
384.9 MB
0
详情

关于

javascriptmapsmapgismaptalks
  • 4.5k Stars
  • 507 Forks
  • 145 Watching

简要分析

热度分
5697
价值分
2883
活跃状态
活跃
GitHub

语言占比

Batchfile
CSS
GLSL
HTML
JavaScript
TypeScript
WGSL

Release

  • maptalks V1.13.0 maptalks-gl 0.126.0 Released3 周前
  • maptalks-gl v0.125.0 released3 周前
  • [email protected] Released3月4日
  • [email protected] Released2月11日
  • [email protected] [email protected]2月10日

贡献者

fuzhennfuzhenndeyihudeyihuliubgithubliubgithubaxmandaxmandwsw0108wsw0108brucinbrucin1dent1ty1dent1tysakitam-fddsakitam-fddyy923683900yy923683900HGX-DJKHGX-DJKaliothoraliothorLiquid-ZhangliquanLiquid-Zhangliquan

maptalks-gl

NPM Version

NOTICE

maptalks is upgrading to maptalks-gl, a webgl and webgpu driven 2D/3D map engine.

If you are looking for the old maptalks source codes, it has moved to packages/maptalks as a submodule.

About

maptalks-gl will be a pure WebGL driven map engine with performance and rich features in 3D. maptalks-gl is in active development now, and will be officially published in few months.

With consistent API upgrade, you can easily migrate from legacy maptalks to maptalks-gl. (TBD)

If you are interested in what is going on, please refer to the previous releases notes of maptalks-gl.

Features

  • Vector Tile format support
  • 3DTiles format support
  • GLTF format support
  • Magnificant performance enhancement by WebGL
  • Rich 3D analysis functions
  • Traffic simulation animations

Usage

Install

npm i maptalks-gl

#or

yarn add maptalks-gl

#or

pnpm i maptalks-gl

ESM

import {
    Map,
    GroupGLLayer,
    VectorTileLayer,
    GLTFMarker,
    GLTFLayer,
    PolygonLayer
} from 'maptalks-gl';

const map = new Map('map', {
    center: [0, 0],
    zoom: 2
});
const vtLayer = new VectorTileLayer('vt', {
    urlTemplate: 'http://tile.maptalks.com/test/planet-single/{z}/{x}/{y}.mvt'
});

const groupLayer = new GroupGLLayer('group', [vtLayer]).addTo(map);

const gltfLayer = new GLTFLayer('gltflayer');
groupLayer.addLayer(gltfLayer);

const polygonLayer = new PolygonLayer('polygonlayer');
groupLayer.addLayer(polygonLayer);
//other layers

CDN

You can also reference umd-formatted packages via CDN, note that all exported variables under the gl system are automatically mounted in the maptalks namespace.

<script type="text/javascript" src="https://unpkg.com/maptalks-gl/dist/maptalks-gl.js"></script>
<script type="text/javascript">
    const map = new maptalks.Map('map', {
        center: [0, 0],
        zoom: 2
    });
    const vtLayer = new maptalks.VectorTileLayer('vt', {
        urlTemplate: 'http://tile.maptalks.com/test/planet-single/{z}/{x}/{y}.mvt'
    });

    const groupLayer = new maptalks.GroupGLLayer('group', [vtLayer]).addTo(map);

    const gltfLayer = new maptalks.GLTFLayer('gltflayer');
    groupLayer.addLayer(gltfLayer)
    const polygonLayer = new maptalks.PolygonLayer('polygonlayer');
    groupLayer.addLayer(polygonLayer);
    //other layers
</script>

Optional transcoders

If you need to introduce optional draco, ktx2 and other gl format decoding plugins, just introduce the decoding plugins after introducing the summary package as before:

import {
    Map,
    Geo3DTilesLayer,
    GLTFLayer
} from 'maptalks-gl';
import '@maptalks/transcoders.draco';
import '@maptalks/transcoders.crn';
import '@maptalks/transcoders.ktx2';

or with umd bundle:

<link rel="stylesheet" href="https://unpkg.com/maptalks-gl/dist/maptalks-gl.css">
<script type="text/javascript" src="https://unpkg.com/maptalks-gl/dist/maptalks-gl.js"></script>
<script type="text/javascript" src="https://unpkg.com/@maptalks/transcoders.draco/dist/transcoders.draco.js"></script>
<script type="text/javascript" src="https://unpkg.com/@maptalks/transcoders.crn/dist/transcoders.crn.js"></script>
<script type="text/javascript" src="https://unpkg.com/@maptalks/transcoders.ktx2/dist/transcoders.ktx2.js"></script>

Packages introductions

basic libraries

  • gltf-loader gltf format parsing library.
  • reshader.gl A regl-based implementation of the 3D rendering interface, including renderer, scene, mesh, material and other commonly used rendering base classes and predefined rendering materials, such as PBR.

Map

  • maptalks maptalks library source codes.

Layers

  • gl WebGL base layer functionality, including GroupGLLayer, terrain, post-processing and various 3D mask implementations.
  • layer-3dtiles Implementation of the 3dtiles layer (Geo3DTilesLayer).
  • layer-gltf Implementation of gltf layer (GLTFLayer/GLTFMarker).
  • layer-video video layer (VideoLayer/VideoSurface) implementation

Vector tiles

  • vt-plugin Interface definition for the vector tile rendering plugin.
  • vt Vector tile layer (VectorTileLayer/GeoJSONVectorTileLayer) implementation.

Three-dimensional analysis

  • analysis Implementation of various 3D analysis functions.
  • traffic Implementation of traffic simulation.

transcoders

  • transcoders.crn crn format parsing library
  • transcoders.draco draco format parser library
  • transcoders.ktx ktx2 compressed texture format parser library.

Installation and compilation

node environment

The current minimum node environment is 18.16.1, if you don’t meet the minimum node version requirement, you can use nvm / fnm to manage the node version.

pnpm version

Currently this project is using [email protected].

Install dependencies

pnpm i

Compile

pnpm build

Debugging

If you need to debug the code base in watch mode, and the target of the compilation contains the source code, run the following command in the root folder of package you are debugging:

pnpm run dev

Test

The project uses karma or electron-mocha (vt vs. layer-3dtiles) as the test framework, and the test cases are written based on mocha syntax.

Run a full test of the project

Run npm test under each project.

Run the tests for the specified use case

  • If the project is based on electron-mocha, run the
pnpm run tdd -- -g “spec keywords”
  • If the project is based on karma, you need to modify the test source code to specify the use cases to run via the only method in mocha, e.g…
it('spec name', () => {});

Change to:

it.only('spec name', () => {});

Publish

pnpm changeset
pnpm changeset-version
pnpm changeset-tag

Create a release note on github, then github action will do the rest jobs.

评论

登录 后发表评论
暂无评论
GitRead 中文社区
深度解读 · 趋势洞察 · 价值精选

关于

关于我们联系我们编辑准则收录标准赞赏人员

发现

技术趋势新手训练营资源精选实战指南精选专题热门话题GitHub 文档

条款

隐私政策服务条款网站地图
26.9万收录项目
5.7万中文话题
155精选专题
发现技术价值,连接开源智慧
© 2026 GitRead · GitHub 中文社区 本站与 GitHub, Inc. 无隶属关系;GitHub 是 GitHub, Inc. 的商标。