百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
M

maplibre-rs

> 编程语言
开源

基于 Rust 的 WebGPU 网页、移动设备和桌面映射渲染器

1.6K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

基于 Rust 的 WebGPU 网页、移动设备和桌面映射渲染器

## Project This project aims to develop a MapLibre Style Spec compliant renderer in Rust, using WebGPU for cross-platform support. ## Description maplibre-rs is a portable and performant vector maps renderer. We aim to support web, mobile and desktop applications. This is achieved by the novel [WebGPU](https://www.w3.org/TR/webgpu/) specification. Plenty of native implementations are already implementing this specification. On the web, it is implemented by Firefox, Chrome and Safari. There are also standalone implementations that directly use Vulkan, OpenGL or Metal as a backend. Those backends allow maplibre-rs to run on mobile and desktop applications. Rust is used as a Lingua franca on all platforms. This is made possible by WebAssembly, which allows us to use Rust for web development. The goal of maplibre-rs is to render maps to visualize data. Right now the goal of maplibre-rs is not to replace existing vector map renderers like Google Maps, Apple Maps or MapLibre. The current implementation serves as a proof-of-concept of the used technology stack. It is unclear whether the high-performance requirements of rendering maps using vector graphics are achievable using the current stack. ## Demos - [WebGL](https://webgl.demo.maplibre-rs.maplibre.org) - [WebGL with multithreading](https://webgl-multithreaded.demo.maplibre-rs.maplibre.org) - Does not work on Safari right now - [WebGPU](https://webgpu.demo.maplibre-rs.maplibre.org) - Only works with development versions of Safari TP, Firefox and Chrome ## Current Features * Runs on Linux, Android, iOS, macOS, Firefox, Safari (>=v16 due to (#166)[https://github.com/maplibre/maplibre-rs/issues/166]) and Chrome * Render a vector tile dataset * Simple navigation powered by winit * Multithreaded on all platforms * Querying feature data ## Missing Features * Rendering Text * Per-Feature Rendering * Rendering: * Labels * Symbols * Raster data * 3D terrain * Hill-shade (DEM) * Collision detection * Support for: * GeoJSON * API for: * TypeScript * Swift * Java/Kotlin ## Building & Running Clone the project ```bash git clone https://github.com/maplibre/maplibre-rs.git ``` Build and run it on a desktop ```bash cargo run -p maplibre-demo ``` More information about running the demos on different platforms can be found [here](https://maplibre.org/maplibre-rs/docs/book/development-guide/how-to-run.html). ## Rust Setup Install [rustup](https://rustup.rs/) because this is the recommended way of setting up Rust toolchains. The toolchain will be automatically downloaded when building this project. See [./rust-toolchain.toml](./rust-toolchain.toml) for more details about the toolchain. ## API Documentation This generates the documentation for this crate and opens the browser. This also includes the documentation of every dependency. ```bash cargo doc --open ``` You can also view the up-to-date documentation [here](https://maplibre.org/maplibre-rs/docs/api/maplibre/). ## Book The maplibre-rs [book](https://maplibre.org/maplibre-rs/docs/book/) features a high-level overview over the project from a user and development perspective. ## RFCs We established an RFC process which must be used to describe major changes to maplibre-rs. Current RFCs can be browsed in the [book](https://maplibre.org/maplibre-rs/docs/book/rfc/0001-rfc-process.html). ## Acknowledgements The renderer of maplibre-rs is heavily based on the renderer of [bevy](https://bevyengine.org/). Bevy's renderer was forked into this project in order to have a solid and generic base. ## Articles and talks about maplibre-rs - Aug. 2022 - [maplibre-rs: toward portable map renderers](https://doi.org/10.5194/isprs-archives-XLVIII-4-W1-2022-35-2022)

GitHub Issues· 0 开放

在 GitHub 查看全部

暂无开放 Issues,或尚未同步最近议题。

核心特点

  • •WebGL with multithreading - Does not work on Safari right now
  • •WebGPU - Only works with development versions of Safari TP, Firefox and Chrome
  • •Runs on Linux, Android, iOS, macOS, Firefox, Safari (>=v16 due to (#166)[https://github.com/maplibre/maplibre-rs/issues/166]) and Chrome
  • •Render a vector tile dataset
  • •Simple navigation powered by winit
  • •Multithreaded on all platforms
  • •Querying feature data
  • •Rendering Text
  • •Per-Feature Rendering
  • •Rendering:

> 标签

Rust

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言