@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.
Files changed (2) hide show
  1. package/README.md +198 -3
  2. package/package.json +4 -3
package/README.md CHANGED
@@ -1,5 +1,200 @@
1
- # Vue 3 + Vite
1
+ # @songcf/fy-map
2
2
 
3
- This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
3
+ 基于 Vue 2.7 + Vite 7.3.6 开发的 maptalks 地图组件库,提供了一套完整的地图相关组件,方便在 Vue 项目中快速集成和使用 maptalks 地图功能。
4
4
 
5
- Learn more about IDE Support for Vue in the [Vue Docs Scaling up Guide](https://vuejs.org/guide/scaling-up/tooling.html#ide-support).
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": "this is components",
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",