flywave.gl is an open-source 3D map rendering engine built with TypeScript. This project adopts a modular monorepo architecture, aiming to provide a high-performance, scalable, and modular 3D map rendering solution.
An open-source 3D map rendering engine built with TypeScript
Creating high-performance, scalable 3D map visualization solutions using WebGL and Three.js
flywave.gl is an open-source 3D map rendering engine built with TypeScript. This project adopts a modular monorepo architecture, aiming to provide a high-performance, scalable, and modular 3D map rendering solution.
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
| Tool | Version | Check Command |
|---|---|---|
| Node.js | >= 22.15.0 | node --version |
| pnpm | >= 9.0.0 | pnpm --version |
There are two ways to install flywave.gl:
# Using npm
npm install @flywave/flywave.gl
# Using pnpm (recommended)
pnpm add @flywave/flywave.gl
# Clone repository
git clone https://github.com/flywave/flywave.gl.git
cd flywave.gl
# Install dependencies
pnpm install
# Start development server
pnpm start
# Visit: http://localhost:8080/
import {
MapView,
GeoCoordinates,
MapControls,
sphereProjection,
ArcGISWebTileDataSource
} from "@flywave/flywave.gl";
// Initialize map view
const mapView = new MapView({
projection: sphereProjection,
target: new GeoCoordinates(39.9042, 116.4074), // Beijing coordinates
zoomLevel: 10,
canvas: document.getElementById("mapCanvas")
});
// Create data source
const webTileDataSource = new ArcGISWebTileDataSource();
// Add data source to map
mapView.addDataSource(webTileDataSource);
// Add controls for user interaction
const mapControls = new MapControls(mapView);
| Resource | Description | Link |
|---|---|---|
| 📖 Documentation | API docs, tutorials, best practices | flywave.github.io/flywave.gl/docs |
| 🎯 Examples | Functional examples, code snippets | flywave.github.io/flywave.gl/examples |
| 🏠 Website | Project homepage, latest news | flywave.github.io/flywave.gl |
| 🐛 Issues | Bug reports, feature suggestions | GitHub Issues |
| 💬 Discussions | Technical exchanges, usage help | GitHub Discussions |
We welcome contributions from the community! Please read our Contributing Guide (中文版) to get started.
Copyright © 2022-2025 Flywave Project Authors
Licensed under the Apache License, Version 2.0.