@songcf/fy-map 1.0.0 → 1.0.1-beta.0
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/README.md +198 -3
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,5 +1,200 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @songcf/fy-map
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
基于 Vue 2.7 + Vite 7.3.6 开发的 maptalks 地图组件库,提供了一套完整的地图相关组件,方便在 Vue 项目中快速集成和使用 maptalks 地图功能。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## 特性
|
|
6
|
+
|
|
7
|
+
- 🚀 基于 Vue 2.7 和 Vite 构建,开发体验优秀
|
|
8
|
+
- 🗺️ 封装 17 个常用地图组件,覆盖大部分地图使用场景
|
|
9
|
+
- 📦 支持完整引入和按需引入两种使用方式
|
|
10
|
+
- 🎨 提供多种地图底图支持(OSM、CartoDB、Google 等)
|
|
11
|
+
- ✏️ 内置绘制工具,支持点、线、面、圆等几何图形绘制
|
|
12
|
+
- 🔀 支持标记聚合、标签、弹窗等交互功能
|
|
13
|
+
- 📝 完整的 TypeScript 类型支持
|
|
14
|
+
|
|
15
|
+
## 安装
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# 使用 npm
|
|
19
|
+
npm install @songcf/fy-map
|
|
20
|
+
|
|
21
|
+
# 使用 pnpm
|
|
22
|
+
pnpm add @songcf/fy-map
|
|
23
|
+
|
|
24
|
+
# 使用 yarn
|
|
25
|
+
yarn add @songcf/fy-map
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 依赖要求
|
|
29
|
+
|
|
30
|
+
- vue: >= 2.7.16
|
|
31
|
+
- maptalks: >= 1.12.1
|
|
32
|
+
|
|
33
|
+
## 使用方法
|
|
34
|
+
|
|
35
|
+
### 完整引入
|
|
36
|
+
|
|
37
|
+
在你的项目中完整引入所有组件:
|
|
38
|
+
|
|
39
|
+
```javascript
|
|
40
|
+
import Vue from 'vue';
|
|
41
|
+
import FyMap from '@songcf/fy-map';
|
|
42
|
+
|
|
43
|
+
// 安装所有组件
|
|
44
|
+
Vue.use(FyMap);
|
|
45
|
+
|
|
46
|
+
// 现在可以在任何地方使用组件了
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 按需引入
|
|
50
|
+
|
|
51
|
+
如果你只使用部分组件,可以按需引入:
|
|
52
|
+
|
|
53
|
+
```javascript
|
|
54
|
+
import Vue from 'vue';
|
|
55
|
+
import { FyMap, FyTileLayer, FyMarker } from '@songcf/fy-map';
|
|
56
|
+
|
|
57
|
+
// 单独注册组件
|
|
58
|
+
Vue.component('FyMap', FyMap);
|
|
59
|
+
Vue.component('FyTileLayer', FyTileLayer);
|
|
60
|
+
Vue.component('FyMarker', FyMarker);
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## 组件列表
|
|
64
|
+
|
|
65
|
+
### 基础组件
|
|
66
|
+
|
|
67
|
+
- **MyButton** - 基础按钮组件
|
|
68
|
+
- **FyMap** - 地图容器组件,提供地图初始化和管理功能
|
|
69
|
+
|
|
70
|
+
### 图层组件
|
|
71
|
+
|
|
72
|
+
- **FyTileLayer** - 瓦片图层组件
|
|
73
|
+
- **FyVectorLayer** - 矢量图层组件
|
|
74
|
+
|
|
75
|
+
### 地图覆盖物组件
|
|
76
|
+
|
|
77
|
+
- **FyMarker** - 标记点组件
|
|
78
|
+
- **FyLabel** - 标签组件
|
|
79
|
+
- **FyPopup** - 弹窗组件
|
|
80
|
+
- **FyClusterMarker** - 聚合标记组件
|
|
81
|
+
|
|
82
|
+
### 绘制工具组件
|
|
83
|
+
|
|
84
|
+
- **FyDrawTool** - 绘制工具组件
|
|
85
|
+
- **FyDrawPoint** - 点绘制组件
|
|
86
|
+
- **FyDrawLine** - 线绘制组件
|
|
87
|
+
- **FyDrawPolygon** - 面绘制组件
|
|
88
|
+
- **FyDrawCircle** - 圆绘制组件
|
|
89
|
+
|
|
90
|
+
### 几何图形组件
|
|
91
|
+
|
|
92
|
+
- **FyPoint** - 点图形组件
|
|
93
|
+
- **FyLineString** - 线图形组件
|
|
94
|
+
- **FyPolygon** - 面图形组件
|
|
95
|
+
- **FyCircle** - 圆图形组件
|
|
96
|
+
|
|
97
|
+
## 基础示例
|
|
98
|
+
|
|
99
|
+
下面是一个简单的地图示例:
|
|
100
|
+
|
|
101
|
+
```vue
|
|
102
|
+
<template>
|
|
103
|
+
<div class="map-container">
|
|
104
|
+
<FyMap
|
|
105
|
+
:center="[116.4074, 39.9042]"
|
|
106
|
+
:zoom="13"
|
|
107
|
+
baseLayer="osm"
|
|
108
|
+
@ready="handleMapReady"
|
|
109
|
+
/>
|
|
110
|
+
</div>
|
|
111
|
+
</template>
|
|
112
|
+
|
|
113
|
+
<script>
|
|
114
|
+
export default {
|
|
115
|
+
methods: {
|
|
116
|
+
handleMapReady(map) {
|
|
117
|
+
console.log('地图已就绪', map);
|
|
118
|
+
// 可以在这里进行地图初始化后的操作
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
</script>
|
|
123
|
+
|
|
124
|
+
<style>
|
|
125
|
+
.map-container {
|
|
126
|
+
width: 100%;
|
|
127
|
+
height: 600px;
|
|
128
|
+
}
|
|
129
|
+
</style>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### FyMap 组件主要属性
|
|
133
|
+
|
|
134
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
135
|
+
|------|------|--------|------|
|
|
136
|
+
| center | Array | [116.4074, 39.9042] | 地图中心点 [经度, 纬度] |
|
|
137
|
+
| zoom | Number | 13 | 缩放级别 |
|
|
138
|
+
| minZoom | Number | 1 | 最小缩放级别 |
|
|
139
|
+
| maxZoom | Number | 22 | 最大缩放级别 |
|
|
140
|
+
| baseLayer | String | "osm" | 底图类型(osm、cartoDB、google、custom) |
|
|
141
|
+
| baseLayerUrl | String | "" | 自定义底图URL模板 |
|
|
142
|
+
| subdomains | Array | ["a", "b", "c"] | 底图子域名 |
|
|
143
|
+
| options | Object | {} | 其他地图配置选项 |
|
|
144
|
+
|
|
145
|
+
### FyMap 组件主要事件
|
|
146
|
+
|
|
147
|
+
| 事件名 | 回调参数 | 说明 |
|
|
148
|
+
|--------|----------|------|
|
|
149
|
+
| ready | (map: Map) | 地图初始化完成后触发 |
|
|
150
|
+
|
|
151
|
+
### FyMap 组件主要方法
|
|
152
|
+
|
|
153
|
+
| 方法名 | 参数 | 说明 |
|
|
154
|
+
|--------|------|------|
|
|
155
|
+
| setCenter | (center: Array) | 设置地图中心点 |
|
|
156
|
+
| setZoom | (zoom: Number) | 设置缩放级别 |
|
|
157
|
+
| flyTo | (center, zoom, options) | 飞到指定位置 |
|
|
158
|
+
| getMap | () | 获取地图实例 |
|
|
159
|
+
| switchBaseLayer | (layerType, urlTemplate) | 切换底图 |
|
|
160
|
+
|
|
161
|
+
## 开发
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# 启动开发服务器
|
|
165
|
+
npm run dev
|
|
166
|
+
|
|
167
|
+
# 构建生产版本
|
|
168
|
+
npm run build
|
|
169
|
+
|
|
170
|
+
# 监听文件变化自动构建
|
|
171
|
+
npm run watch
|
|
172
|
+
|
|
173
|
+
# 生成类型声明文件
|
|
174
|
+
npm run type:build
|
|
175
|
+
|
|
176
|
+
# 格式化代码
|
|
177
|
+
npm run format
|
|
178
|
+
|
|
179
|
+
# 检查代码格式
|
|
180
|
+
npm run format:check
|
|
181
|
+
|
|
182
|
+
# 发布版本
|
|
183
|
+
npm run release
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## 技术栈
|
|
187
|
+
|
|
188
|
+
- Vue 2.7.16
|
|
189
|
+
- Vite 7.3.6
|
|
190
|
+
- TypeScript
|
|
191
|
+
- maptalks 1.12.1
|
|
192
|
+
- Prettier
|
|
193
|
+
|
|
194
|
+
## 许可证
|
|
195
|
+
|
|
196
|
+
ISC
|
|
197
|
+
|
|
198
|
+
## 作者
|
|
199
|
+
|
|
200
|
+
songcf
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@songcf/fy-map",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.0.1-beta.0",
|
|
4
|
+
"description": "基于vue2.7 + vite7.3.6 的maptalks组件库",
|
|
5
5
|
"main": "dist/fy-map.umd.js",
|
|
6
6
|
"module": "dist/fy-map.es.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
"build": "vite build",
|
|
23
23
|
"type:build": "vue-tsc",
|
|
24
24
|
"format": "prettier --write \"src/**/*.{js,ts,vue}\"",
|
|
25
|
-
"format:check": "prettier --check \"src/**/*.{js,ts,vue}\""
|
|
25
|
+
"format:check": "prettier --check \"src/**/*.{js,ts,vue}\"",
|
|
26
|
+
"release": "npm version prerelease --preid beta && npm publish"
|
|
26
27
|
},
|
|
27
28
|
"peerDependencies": {
|
|
28
29
|
"maptalks": "1.12.1",
|