maptalks.js is a JavaScript library for building integrated 2D/3D maps with WebGL and WebGPU rendering.
The project addresses the need for performant, feature-rich web-based mapping by transitioning from canvas-based rendering to a pure WebGL-driven engine. The library supports vector tiles, 3D tiles, and GLTF formats, enabling developers to render complex geospatial data with rich 3D analysis capabilities. It provides a modular architecture where core rendering is handled through a regl-based implementation with support for materials like PBR, while specialized functionality is available through optional packages for vector tile rendering, 3D tile layers, GLTF layers, video layers, and traffic simulation.
Developers should adopt this tool if they need high-performance 2D/3D map visualization with support for modern 3D formats and analysis functions. The library suits projects requiring vector tile rendering, terrain visualization, post-processing effects, and 3D geospatial analysis. The project is undergoing a significant upgrade from legacy maptalks to maptalks-gl, with migration support planned through consistent API upgrades. Those currently using the older canvas-based maptalks can transition to the WebGL version, though the new engine is still in active development.
The project maintains a monorepo structure with multiple specialized packages covering rendering foundations, map layers, vector tiles, and 3D analysis. Development uses pnpm for dependency management and requires Node 18.16.1 or higher. Testing is handled through karma and electron-mocha frameworks with mocha-based test cases, and the codebase supports watch-mode debugging for individual packages.