@trapar-waves/react-three-maplibre 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +23 -23
- package/package.json +16 -16
- package/readme/README-CN.md +107 -0
- package/readme/README-JP.md +107 -0
- package/readme/README-RU.md +107 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Trapar waves
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -3,21 +3,21 @@
|
|
|
3
3
|

|
|
4
4
|

|
|
5
5
|

|
|
6
|
-

|
|
7
|
+
|
|
8
|
+
> A React-based library integrating Three.js, MapLibre, and AntV for advanced geospatial 3D visualizations.
|
|
8
9
|
|
|
9
10
|
## ✨ Features
|
|
10
11
|
|
|
11
|
-
* **
|
|
12
|
-
* **React
|
|
13
|
-
* **
|
|
14
|
-
* **Utility-First Styling:** Employs
|
|
15
|
-
* **Type Safety:**
|
|
16
|
-
* **Fast Development Workflow:**
|
|
17
|
-
* **
|
|
18
|
-
* **
|
|
19
|
-
* **
|
|
20
|
-
* **Rich 3D Ecosystem:** Likely includes additional Three.js utilities from [three-stdlib](https://github.com/pmndrs/three-stdlib), offering pre-built helpers and components for common 3D tasks.
|
|
12
|
+
* **Geospatial Visualization:** Combines `@antv/l7` and `maplibre-gl` for powerful geospatial data rendering with custom map layers.
|
|
13
|
+
* **3D Rendering with React:** Leverages `@react-three/fiber` and `@react-three/drei` to integrate Three.js into a React-based workflow for declarative 3D scene management.
|
|
14
|
+
* **Customizable UI Integration:** Offers seamless integration with React (`react`, `react-dom`) for building interactive geospatial applications.
|
|
15
|
+
* **Utility-First Styling:** Employs `tailwindcss` for flexible and rapid styling of components and layouts.
|
|
16
|
+
* **Type Safety:** Uses TypeScript to ensure type safety and improve developer experience during development.
|
|
17
|
+
* **Fast Development Workflow:** Utilizes `rsbuild` for optimized builds and efficient development server performance.
|
|
18
|
+
* **Rich Component Library:** Integrates with `three-stdlib` and `@react-three/drei` for reusable Three.js utilities and components.
|
|
19
|
+
* **Map Interactivity:** Implements `react-map-gl` for interactive map controls and client-side navigation in geospatial contexts.
|
|
20
|
+
* **AntV Enhancements:** Incorporates `@antv/l7-maps` for additional map layering capabilities and visualization tools.
|
|
21
21
|
|
|
22
22
|
## 🚀 Getting Started
|
|
23
23
|
|
|
@@ -27,7 +27,7 @@ Follow these instructions to get the project running locally.
|
|
|
27
27
|
|
|
28
28
|
* Ensure you have the following installed:
|
|
29
29
|
* Node.js (>= 18.x recommended)
|
|
30
|
-
* Package manager (
|
|
30
|
+
* Package manager (npm, yarn, or pnpm)
|
|
31
31
|
```bash
|
|
32
32
|
node -v
|
|
33
33
|
npm -v # or yarn -v or pnpm -v
|
|
@@ -52,13 +52,15 @@ Follow these instructions to get the project running locally.
|
|
|
52
52
|
|
|
53
53
|
## 🛠️ Usage
|
|
54
54
|
|
|
55
|
+
Explain how to run and use the project after installation.
|
|
56
|
+
|
|
55
57
|
### Available Scripts
|
|
56
58
|
|
|
57
59
|
Common scripts available via `npm run <script>`, `yarn <script>`, or `pnpm <script>`:
|
|
58
60
|
|
|
59
|
-
* `dev`: Starts the development server with
|
|
60
|
-
* `build`: Creates a production-ready build.
|
|
61
|
-
* `preview`:
|
|
61
|
+
* `dev`: Starts the development server with hot module replacement (HMR) using Rsbuild.
|
|
62
|
+
* `build`: Creates a production-ready build of the project.
|
|
63
|
+
* `preview`: Previews the production build locally.
|
|
62
64
|
|
|
63
65
|
Example:
|
|
64
66
|
```bash
|
|
@@ -76,13 +78,12 @@ npm run preview
|
|
|
76
78
|
|
|
77
79
|
Key technologies used in this project include:
|
|
78
80
|
|
|
79
|
-
* **Framework/Library:** React
|
|
81
|
+
* **Framework/Library:** React
|
|
80
82
|
* **UI Toolkit/Styling:** Tailwind CSS
|
|
81
|
-
* **
|
|
82
|
-
* **
|
|
83
|
+
* **3D Rendering:** Three.js (`@react-three/fiber`, `@react-three/drei`)
|
|
84
|
+
* **Geospatial Libraries:** MapLibre GL, AntV L7
|
|
83
85
|
* **Build Tool:** Rsbuild
|
|
84
86
|
* **Language:** TypeScript
|
|
85
|
-
* **Iconography:** Iconify
|
|
86
87
|
|
|
87
88
|
See the [package.json](package.json) for a full list of dependencies.
|
|
88
89
|
|
|
@@ -96,12 +97,11 @@ Distributed under the **MIT** License. See `LICENSE` file for more information.
|
|
|
96
97
|
|
|
97
98
|
## 👤 Author
|
|
98
99
|
|
|
99
|
-
* **Rikka**
|
|
100
|
-
* Email: [admin@rikka.cc](mailto:admin@rikka.cc)
|
|
100
|
+
* **Rikka** ([admin@rikka.cc](mailto:admin@rikka.cc))
|
|
101
101
|
* GitHub: [@Muromi-Rikka](https://github.com/Muromi-Rikka)
|
|
102
102
|
|
|
103
103
|
## 🔗 Links
|
|
104
104
|
|
|
105
105
|
* **Repository:** [https://github.com/Trapar-waves/react-three-maplibre](https://github.com/Trapar-waves/react-three-maplibre)
|
|
106
106
|
* **Homepage:** [https://github.com/Trapar-waves/react-three-maplibre](https://github.com/Trapar-waves/react-three-maplibre)
|
|
107
|
-
* **Issues:** [https://github.com/Trapar-waves/react-three-maplibre/issues](https://github.com/Trapar-waves/react-three-maplibre/issues)
|
|
107
|
+
* **Issues:** [https://github.com/Trapar-waves/react-three-maplibre/issues](https://github.com/Trapar-waves/react-three-maplibre/issues)
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trapar-waves/react-three-maplibre",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.4",
|
|
5
5
|
"author": {
|
|
6
6
|
"email": "admin@rikka.cc",
|
|
7
7
|
"name": "Rikka",
|
|
@@ -33,29 +33,29 @@
|
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@antv/l7": "^2.22.5",
|
|
35
35
|
"@antv/l7-maps": "^2.22.5",
|
|
36
|
-
"@react-three/drei": "^10.0.
|
|
36
|
+
"@react-three/drei": "^10.0.7",
|
|
37
37
|
"@react-three/fiber": "^9.1.2",
|
|
38
|
-
"maplibre-gl": "4.
|
|
38
|
+
"maplibre-gl": "5.4.0",
|
|
39
39
|
"react": "^19.1.0",
|
|
40
40
|
"react-dom": "^19.1.0",
|
|
41
|
-
"react-map-gl": "^8.0.
|
|
42
|
-
"react-three-map": "1.0.0
|
|
43
|
-
"three": "^0.
|
|
44
|
-
"three-stdlib": "^2.35.
|
|
41
|
+
"react-map-gl": "^8.0.4",
|
|
42
|
+
"react-three-map": "1.0.0",
|
|
43
|
+
"three": "^0.176.0",
|
|
44
|
+
"three-stdlib": "^2.35.16"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@antfu/eslint-config": "^4.12.0",
|
|
48
|
-
"@iconify/json": "^2.2.
|
|
48
|
+
"@iconify/json": "^2.2.332",
|
|
49
49
|
"@iconify/tailwind4": "^1.0.6",
|
|
50
|
-
"@rsbuild/core": "^1.3.
|
|
51
|
-
"@rsbuild/plugin-react": "^1.
|
|
52
|
-
"@tailwindcss/postcss": "^4.1.
|
|
53
|
-
"@types/react": "^19.1.
|
|
50
|
+
"@rsbuild/core": "^1.3.12",
|
|
51
|
+
"@rsbuild/plugin-react": "^1.3.0",
|
|
52
|
+
"@tailwindcss/postcss": "^4.1.4",
|
|
53
|
+
"@types/react": "^19.1.2",
|
|
54
54
|
"@types/react-dom": "^19.1.2",
|
|
55
|
-
"@types/three": "^0.
|
|
56
|
-
"eslint": "^9.
|
|
57
|
-
"mapbox-gl": "^3.11.
|
|
58
|
-
"tailwindcss": "^4.1.
|
|
55
|
+
"@types/three": "^0.176.0",
|
|
56
|
+
"eslint": "^9.25.1",
|
|
57
|
+
"mapbox-gl": "^3.11.1",
|
|
58
|
+
"tailwindcss": "^4.1.4",
|
|
59
59
|
"typescript": "^5.8.3"
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# @trapar-waves/react-three-maplibre
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
> 一个基于React的库,整合了Three.js、MapLibre和AntV,用于高级的地理空间3D可视化。
|
|
9
|
+
|
|
10
|
+
## ✨ 核心特性
|
|
11
|
+
|
|
12
|
+
* **强大的地理空间数据可视化:** 借助`@antv/l7`和`maplibre-gl`,通过自定义地图图层实现高效且灵活的地理空间数据渲染。
|
|
13
|
+
* **在React中实现3D渲染:** 借助`@react-three/fiber`和`@react-three/drei`,将Three.js无缝集成到React工作流中,支持声明式的3D场景管理,简化开发流程。
|
|
14
|
+
* **灵活的UI集成:** 提供与React生态(`react`、`react-dom`)的无缝对接,方便构建交互式地理空间应用。
|
|
15
|
+
* **实用至上的样式设计:** 使用`tailwindcss`快速实现组件和布局的灵活样式设计,提升开发效率。
|
|
16
|
+
* **类型安全保障:** 基于TypeScript开发,提供类型安全支持,提升开发体验。
|
|
17
|
+
* **高效开发流程:** 使用`rsbuild`优化构建过程,显著提升开发服务器性能,助力快速迭代。
|
|
18
|
+
* **丰富的Three.js组件库:** 集成`three-stdlib`和`@react-three/drei`,提供大量可复用的Three.js工具和组件,降低开发复杂度。
|
|
19
|
+
* **交互式地图功能:** 借助`react-map-gl`,提供强大的地图交互能力,支持地理空间环境中的导航与操作。
|
|
20
|
+
* **AntV扩展功能:** 集成`@antv/l7-maps`,进一步增强地图分层能力,提供更多可视化选项。
|
|
21
|
+
|
|
22
|
+
## 🚀 快速入门
|
|
23
|
+
|
|
24
|
+
按照以下步骤在本地运行项目。
|
|
25
|
+
|
|
26
|
+
### 环境要求
|
|
27
|
+
|
|
28
|
+
* 确保已安装以下工具:
|
|
29
|
+
* Node.js(推荐版本 >= 18.x)
|
|
30
|
+
* 包管理器(npm、yarn 或 pnpm)
|
|
31
|
+
```bash
|
|
32
|
+
node -v
|
|
33
|
+
npm -v # 或 yarn -v 或 pnpm -v
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 安装步骤
|
|
37
|
+
|
|
38
|
+
1. 克隆代码仓库:
|
|
39
|
+
```bash
|
|
40
|
+
git clone https://github.com/Trapar-waves/react-three-maplibre.git
|
|
41
|
+
cd react-three-maplibre
|
|
42
|
+
```
|
|
43
|
+
2. 安装依赖:
|
|
44
|
+
```bash
|
|
45
|
+
# 使用您偏好的包管理器
|
|
46
|
+
npm install
|
|
47
|
+
# 或
|
|
48
|
+
yarn install
|
|
49
|
+
# 或
|
|
50
|
+
pnpm install
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 🛠️ 使用说明
|
|
54
|
+
|
|
55
|
+
安装完成后,您可以按照以下方式运行和使用项目。
|
|
56
|
+
|
|
57
|
+
### 常用命令
|
|
58
|
+
|
|
59
|
+
通过`npm run <命令>`、`yarn <命令>`或`pnpm <命令>`运行以下脚本:
|
|
60
|
+
|
|
61
|
+
* `dev`:使用Rsbuild启动开发服务器,并支持热模块替换(HMR)。
|
|
62
|
+
* `build`:生成项目的生产版本。
|
|
63
|
+
* `preview`:在本地预览生产版本。
|
|
64
|
+
|
|
65
|
+
示例:
|
|
66
|
+
```bash
|
|
67
|
+
# 启动开发服务器
|
|
68
|
+
npm run dev
|
|
69
|
+
|
|
70
|
+
# 生成生产版本
|
|
71
|
+
npm run build
|
|
72
|
+
|
|
73
|
+
# 预览生产版本
|
|
74
|
+
npm run preview
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 💻 技术栈
|
|
78
|
+
|
|
79
|
+
项目中使用的核心技术包括:
|
|
80
|
+
|
|
81
|
+
* **框架/库:** React
|
|
82
|
+
* **样式工具:** Tailwind CSS
|
|
83
|
+
* **3D渲染:** Three.js(`@react-three/fiber`、`@react-three/drei`)
|
|
84
|
+
* **地理空间支持:** MapLibre GL、AntV L7
|
|
85
|
+
* **构建工具:** Rsbuild
|
|
86
|
+
* **编程语言:** TypeScript
|
|
87
|
+
|
|
88
|
+
更多信息请查看[package.json](package.json)文件,以获取完整的依赖项列表。
|
|
89
|
+
|
|
90
|
+
## 🤝 贡献指南
|
|
91
|
+
|
|
92
|
+
欢迎任何形式的贡献!如果您有任何改进建议或发现问题,请随时提交Pull Request或Issue。
|
|
93
|
+
|
|
94
|
+
## 📄 许可证
|
|
95
|
+
|
|
96
|
+
本项目基于**MIT**许可证发布。更多信息请参阅`LICENSE`文件。
|
|
97
|
+
|
|
98
|
+
## 👤 作者
|
|
99
|
+
|
|
100
|
+
* **Rikka**([admin@rikka.cc](mailto:admin@rikka.cc))
|
|
101
|
+
* GitHub:[@Muromi-Rikka](https://github.com/Muromi-Rikka)
|
|
102
|
+
|
|
103
|
+
## 🔗 相关链接
|
|
104
|
+
|
|
105
|
+
* **项目仓库:** [https://github.com/Trapar-waves/react-three-maplibre](https://github.com/Trapar-waves/react-three-maplibre)
|
|
106
|
+
* **项目主页:** [https://github.com/Trapar-waves/react-three-maplibre](https://github.com/Trapar-waves/react-three-maplibre)
|
|
107
|
+
* **问题反馈:** [https://github.com/Trapar-waves/react-three-maplibre/issues](https://github.com/Trapar-waves/react-three-maplibre/issues)
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# @trapar-waves/react-three-maplibre
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
> Reactベースのライブラリで、Three.js、MapLibre、AntVを統合し、高度な地理空間3Dビジュアライゼーションを実現します。
|
|
9
|
+
|
|
10
|
+
## ✨ 主な特徴
|
|
11
|
+
|
|
12
|
+
* **地理空間ビジュアライゼーション:** `@antv/l7`と`maplibre-gl`を組み合わせ、カスタムマップレイヤーを用いて地理空間データの強力なレンダリングが可能です。
|
|
13
|
+
* **Reactによる3Dレンダリング:** `@react-three/fiber`と`@react-three/drei`を活用し、Three.jsをReactベースのワークフローに統合。これにより、宣言的な3Dシーンの管理が容易になります。
|
|
14
|
+
* **柔軟なUI統合:** Reactおよび`react-dom`とスムーズに統合でき、インタラクティブな地理空間アプリケーションを簡単に構築できます。
|
|
15
|
+
* **効率的なスタイリング:** `tailwindcss`を使用して、コンポーネントやレイアウトを柔軟かつ迅速にスタイリングできます。
|
|
16
|
+
* **型安全な開発:** TypeScriptを採用し、開発時の型安全性を確保し、開発者体験を向上させます。
|
|
17
|
+
* **効率的な開発フロー:** `rsbuild`を利用して、高速なビルドプロセスと効率的な開発サーバーの動作を実現します。
|
|
18
|
+
* **豊富な3Dコンポーネント:** `three-stdlib`と`@react-three/drei`を統合し、再利用可能なThree.jsのユーティリティやコンポーネントを提供します。
|
|
19
|
+
* **インタラクティブなマップ操作:** `react-map-gl`を採用し、地理空間データを扱う文脈でインタラクティブなマップ操作やクライアント側ナビゲーションを可能にします。
|
|
20
|
+
* **AntVの高度な機能:** `@antv/l7-maps`を活用し、追加のマップレイヤーやビジュアライゼーションツールを提供します。
|
|
21
|
+
|
|
22
|
+
## 🚀 始め方
|
|
23
|
+
|
|
24
|
+
プロジェクトをローカルで実行する手順を以下に示します。
|
|
25
|
+
|
|
26
|
+
### 前提条件
|
|
27
|
+
|
|
28
|
+
* 以下のソフトウェアがインストールされていることを確認してください:
|
|
29
|
+
* Node.js (>= 18.x 推奨)
|
|
30
|
+
* パッケージマネージャ (npm、yarn、または pnpm)
|
|
31
|
+
```bash
|
|
32
|
+
node -v
|
|
33
|
+
npm -v # または yarn -v または pnpm -v
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### インストール手順
|
|
37
|
+
|
|
38
|
+
1. リポジトリをクローンします:
|
|
39
|
+
```bash
|
|
40
|
+
git clone https://github.com/Trapar-waves/react-three-maplibre.git
|
|
41
|
+
cd react-three-maplibre
|
|
42
|
+
```
|
|
43
|
+
2. 依存関係をインストールします:
|
|
44
|
+
```bash
|
|
45
|
+
# お好みのパッケージマネージャを使用してください
|
|
46
|
+
npm install
|
|
47
|
+
# または
|
|
48
|
+
yarn install
|
|
49
|
+
# または
|
|
50
|
+
pnpm install
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 🛠️ 使用方法
|
|
54
|
+
|
|
55
|
+
インストール後のプロジェクトの実行および利用方法を説明します。
|
|
56
|
+
|
|
57
|
+
### 使用可能なスクリプト
|
|
58
|
+
|
|
59
|
+
以下のコマンドは、`npm run <script>`、`yarn <script>`、または`pnpm <script>`で実行できます。
|
|
60
|
+
|
|
61
|
+
* `dev`: Rsbuildを使用して、ホットモジュール置換(HMR)付きの開発サーバーを起動します。
|
|
62
|
+
* `build`: プロジェクトのプロダクション用ビルドを生成します。
|
|
63
|
+
* `preview`: 生成されたプロダクションビルドをローカルでプレビューします。
|
|
64
|
+
|
|
65
|
+
例:
|
|
66
|
+
```bash
|
|
67
|
+
# 開発サーバーを起動
|
|
68
|
+
npm run dev
|
|
69
|
+
|
|
70
|
+
# プロダクションビルドを生成
|
|
71
|
+
npm run build
|
|
72
|
+
|
|
73
|
+
# プロダクションビルドをプレビュー
|
|
74
|
+
npm run preview
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 💻 使用技術
|
|
78
|
+
|
|
79
|
+
このプロジェクトで使用されている主要な技術スタックは以下の通りです:
|
|
80
|
+
|
|
81
|
+
* **フレームワーク/ライブラリ:** React
|
|
82
|
+
* **UIスタイリング:** Tailwind CSS
|
|
83
|
+
* **3Dレンダリング:** Three.js (`@react-three/fiber`, `@react-three/drei`)
|
|
84
|
+
* **地理空間ライブラリ:** MapLibre GL, AntV L7
|
|
85
|
+
* **ビルドツール:** Rsbuild
|
|
86
|
+
* **言語:** TypeScript
|
|
87
|
+
|
|
88
|
+
依存関係の詳細は[package.json](package.json)をご覧ください。
|
|
89
|
+
|
|
90
|
+
## 🤝 貢献について
|
|
91
|
+
|
|
92
|
+
このプロジェクトへの貢献を歓迎します。詳細は[リポジトリ](https://github.com/Trapar-waves/react-three-maplibre)をご覧ください。
|
|
93
|
+
|
|
94
|
+
## 📄 ライセンス
|
|
95
|
+
|
|
96
|
+
**MIT**ライセンスの下で配布されます。詳細は`LICENSE`ファイルをご覧ください。
|
|
97
|
+
|
|
98
|
+
## 👤 作者
|
|
99
|
+
|
|
100
|
+
* **Rikka** ([admin@rikka.cc](mailto:admin@rikka.cc))
|
|
101
|
+
* GitHub: [@Muromi-Rikka](https://github.com/Muromi-Rikka)
|
|
102
|
+
|
|
103
|
+
## 🔗 関連リンク
|
|
104
|
+
|
|
105
|
+
* **リポジトリ:** [https://github.com/Trapar-waves/react-three-maplibre](https://github.com/Trapar-waves/react-three-maplibre)
|
|
106
|
+
* **ホームページ:** [https://github.com/Trapar-waves/react-three-maplibre](https://github.com/Trapar-waves/react-three-maplibre)
|
|
107
|
+
* **問題報告:** [https://github.com/Trapar-waves/react-three-maplibre/issues](https://github.com/Trapar-waves/react-three-maplibre/issues)
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# @trapar-waves/react-three-maplibre
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
> Библиотека на базе React, объединяющая Three.js, MapLibre и AntV для создания передовых 3D-визуализаций географических данных.
|
|
9
|
+
|
|
10
|
+
## ✨ Основные возможности
|
|
11
|
+
|
|
12
|
+
* **Географическая визуализация:** Эффективно сочетает `@antv/l7` и `maplibre-gl`, обеспечивая мощный рендеринг геоданных через настраиваемые слои карт.
|
|
13
|
+
* **3D-рендеринг с React:** Использует `@react-three/fiber` и `@react-three/drei`, позволяя интегрировать Three.js в рабочий процесс React для декларативного управления 3D-сценами.
|
|
14
|
+
* **Плавная интеграция с пользовательским интерфейсом:** Обеспечивает удобную совместимость с React (`react`, `react-dom`) для создания интерактивных географических приложений.
|
|
15
|
+
* **Гибкие стили:** Использует `tailwindcss` для быстрого и гибкого стилизирования компонентов и макетов.
|
|
16
|
+
* **Безопасность типов:** Основана на TypeScript, что гарантирует точность типов и повышает удобство разработки.
|
|
17
|
+
* **Оптимизированный рабочий процесс:** Воспользуется `rsbuild` для быстрой сборки проекта и высокой производительности сервера разработки.
|
|
18
|
+
* **Разнообразные компоненты:** Интегрирует `three-stdlib` и `@react-three/drei`, предоставляя богатую библиотеку инструментов и готовых компонентов для Three.js.
|
|
19
|
+
* **Интерактивные карты:** Поддерживает `react-map-gl` для удобного управления картами и клиентской навигации в географических приложениях.
|
|
20
|
+
* **Дополнительные инструменты AntV:** Включает `@antv/l7-maps` для расширенных возможностей слоев карт и визуализации данных.
|
|
21
|
+
|
|
22
|
+
## 🚀 Начало работы
|
|
23
|
+
|
|
24
|
+
Чтобы запустить проект локально, следуйте этим инструкциям.
|
|
25
|
+
|
|
26
|
+
### Предварительные требования
|
|
27
|
+
|
|
28
|
+
* Убедитесь, что у вас установлено следующее:
|
|
29
|
+
* Node.js (рекомендуется версия >= 18.x)
|
|
30
|
+
* Менеджер пакетов (npm, yarn или pnpm)
|
|
31
|
+
```bash
|
|
32
|
+
node -v
|
|
33
|
+
npm -v # или yarn -v или pnpm -v
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Установка
|
|
37
|
+
|
|
38
|
+
1. Клонируйте репозиторий:
|
|
39
|
+
```bash
|
|
40
|
+
git clone https://github.com/Trapar-waves/react-three-maplibre.git
|
|
41
|
+
cd react-three-maplibre
|
|
42
|
+
```
|
|
43
|
+
2. Установите зависимости:
|
|
44
|
+
```bash
|
|
45
|
+
# Выберите предпочитаемый менеджер пакетов
|
|
46
|
+
npm install
|
|
47
|
+
# или
|
|
48
|
+
yarn install
|
|
49
|
+
# или
|
|
50
|
+
pnpm install
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 🛠️ Использование
|
|
54
|
+
|
|
55
|
+
После установки вы можете запустить проект следующим образом.
|
|
56
|
+
|
|
57
|
+
### Доступные команды
|
|
58
|
+
|
|
59
|
+
Вот список команд, доступных через `npm run <команда>`, `yarn <команда>` или `pnpm <команда>`:
|
|
60
|
+
|
|
61
|
+
* `dev`: Запускает сервер разработки с поддержкой горячей замены модулей (HMR) с использованием Rsbuild.
|
|
62
|
+
* `build`: Создает оптимизированную сборку для продакшена.
|
|
63
|
+
* `preview`: Позволяет локально просмотреть продакшен-сборку.
|
|
64
|
+
|
|
65
|
+
Пример:
|
|
66
|
+
```bash
|
|
67
|
+
# Запуск сервера разработки
|
|
68
|
+
npm run dev
|
|
69
|
+
|
|
70
|
+
# Создание продакшен-сборки
|
|
71
|
+
npm run build
|
|
72
|
+
|
|
73
|
+
# Предварительный просмотр продакшен-сборки
|
|
74
|
+
npm run preview
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 💻 Технологический стек
|
|
78
|
+
|
|
79
|
+
Основные технологии, используемые в проекте:
|
|
80
|
+
|
|
81
|
+
* **Фреймворк/Библиотека:** React
|
|
82
|
+
* **Инструменты UI/Стилизация:** Tailwind CSS
|
|
83
|
+
* **3D-рендеринг:** Three.js (`@react-three/fiber`, `@react-three/drei`)
|
|
84
|
+
* **Географические библиотеки:** MapLibre GL, AntV L7
|
|
85
|
+
* **Инструмент сборки:** Rsbuild
|
|
86
|
+
* **Язык программирования:** TypeScript
|
|
87
|
+
|
|
88
|
+
Для полного списка зависимостей обратитесь к файлу [package.json](package.json).
|
|
89
|
+
|
|
90
|
+
## 🤝 Вклад
|
|
91
|
+
|
|
92
|
+
Мы приветствуем любые вклады! Если у вас есть идеи или вы нашли ошибку, создайте issue или отправьте pull request.
|
|
93
|
+
|
|
94
|
+
## 📄 Лицензия
|
|
95
|
+
|
|
96
|
+
Проект распространяется под лицензией **MIT**. Подробности смотрите в файле `LICENSE`.
|
|
97
|
+
|
|
98
|
+
## 👤 Автор
|
|
99
|
+
|
|
100
|
+
* **Rikka** ([admin@rikka.cc](mailto:admin@rikka.cc))
|
|
101
|
+
* GitHub: [@Muromi-Rikka](https://github.com/Muromi-Rikka)
|
|
102
|
+
|
|
103
|
+
## 🔗 Ссылки
|
|
104
|
+
|
|
105
|
+
* **Репозиторий:** [https://github.com/Trapar-waves/react-three-maplibre](https://github.com/Trapar-waves/react-three-maplibre)
|
|
106
|
+
* **Домашняя страница:** [https://github.com/Trapar-waves/react-three-maplibre](https://github.com/Trapar-waves/react-three-maplibre)
|
|
107
|
+
* **Проблемы:** [https://github.com/Trapar-waves/react-three-maplibre/issues](https://github.com/Trapar-waves/react-three-maplibre/issues)
|