@vtx/cs-map 1.0.6 → 1.0.7

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 (46) hide show
  1. package/README.md +202 -202
  2. package/lib/_util/Provider.js +14 -0
  3. package/lib/_util/Provider.js.map +1 -0
  4. package/lib/_util/useProps.js +15 -0
  5. package/lib/_util/useProps.js.map +1 -0
  6. package/lib/feature-layer/FeatureLayer.js +3 -0
  7. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  8. package/lib/feature-layer/index.js +15 -22
  9. package/lib/feature-layer/index.js.map +1 -1
  10. package/lib/image-layer/ImageLayer.js +87 -0
  11. package/lib/image-layer/ImageLayer.js.map +1 -0
  12. package/lib/image-layer/index.js +58 -0
  13. package/lib/image-layer/index.js.map +1 -0
  14. package/lib/image-layer/style/css.js +4 -0
  15. package/lib/image-layer/style/css.js.map +1 -0
  16. package/lib/image-layer/style/index.css +0 -0
  17. package/lib/image-layer/style/index.js +4 -0
  18. package/lib/image-layer/style/index.js.map +1 -0
  19. package/lib/image-layer/style/index.less +0 -0
  20. package/lib/index.js +7 -0
  21. package/lib/index.js.map +1 -1
  22. package/lib/map/InfoTool/index.css +55 -0
  23. package/lib/map/InfoTool/index.js +247 -0
  24. package/lib/map/InfoTool/index.js.map +1 -0
  25. package/lib/map/InfoTool/index.less +46 -0
  26. package/lib/map/InfoTool/util.js +113 -0
  27. package/lib/map/InfoTool/util.js.map +1 -0
  28. package/lib/map/InfoWindow.js +11 -6
  29. package/lib/map/InfoWindow.js.map +1 -1
  30. package/lib/map/Popup.js +127 -79
  31. package/lib/map/Popup.js.map +1 -1
  32. package/lib/map/index.js +238 -72
  33. package/lib/map/index.js.map +1 -1
  34. package/lib/map/style/index.css +61 -9
  35. package/lib/map/style/index.less +63 -8
  36. package/lib/marker/index.js +6 -4
  37. package/lib/marker/index.js.map +1 -1
  38. package/lib/point/index.js +6 -4
  39. package/lib/point/index.js.map +1 -1
  40. package/lib/polygon/index.js +6 -4
  41. package/lib/polygon/index.js.map +1 -1
  42. package/lib/polyline/index.js +6 -4
  43. package/lib/polyline/index.js.map +1 -1
  44. package/lib/renderer/index.js +1 -1
  45. package/lib/renderer/index.js.map +1 -1
  46. package/package.json +121 -121
package/README.md CHANGED
@@ -1,202 +1,202 @@
1
- # cs-map
2
-
3
- 基于 cesium 封装的地图库
4
-
5
- ## 整体思路
6
-
7
- ## 组件列表
8
-
9
- - 地图 Map
10
- - 底图切换
11
- - 天地图-矢量
12
- - 天地图-卫星
13
- - 绘制 Draw
14
- - 点
15
- - 线
16
- - 面
17
- - 圆
18
- - 图层 Layer
19
- - 图形图层
20
- - 影像图层
21
- - 工具栏
22
- - 搜索
23
- - 工具
24
- - 测距
25
- - 测面
26
- - 框选
27
- - 圈选
28
- - 多边形选择
29
- - 地图书签
30
- - 地图下载
31
- - 地图打印
32
- - 空间定位查询
33
- - 比例尺
34
- - 鹰眼
35
- - 视图
36
- - 默认视角
37
- - 放大
38
- - 缩小
39
- - 分析
40
- - 管网基础分析
41
- - 缓冲区分析
42
- - 联通性分析
43
- - 流向性分析
44
- - 横截面分析
45
- - 纵断面分析
46
- - 管网结构智能诊断
47
- - 爆管关阀分析
48
- - 消防栓分析
49
- - 纳污范围分析
50
- - 污染源分析
51
- - 大口径分析
52
- - 管网智能分析
53
- - 孤立区域诊断
54
- - 环状管网诊断
55
- - 逆坡识别诊断
56
- - 流向异常诊断
57
- - 大管套小管诊断
58
- - 图层
59
- - 全选
60
- - 行政区划
61
- - ......
62
-
63
- ### 地图
64
-
65
- #### method
66
-
67
- | 方法 | 作用 |
68
- |-----------------------------|-----------------|
69
- | getLayerByFeature(feature) | 通过图形查询所属图层 |
70
- | getLayerByKey(keys) | 根据 keys 查找展示的图层 |
71
- | getVisibleLayersByKeys(key) | 根据 keys 查找展示的图层 |
72
- | showTip(content) | 展示提示 |
73
- | hideTip() | 隐藏提示 |
74
- | showModal(params) | 展示弹窗 |
75
-
76
- ### FeatureLayer 图形图层
77
-
78
- #### 示例
79
- ```jsx
80
- // 加载 geoserver
81
- let layer = new FeatureLayer({
82
- url: '/geoserver/zhsw/wms',
83
- params: {
84
- service: 'WFS',
85
- version: '1.0.0',
86
- request: 'GetFeature',
87
- maxFeatures: 99999,
88
- outputFormat: 'application/json',
89
- typeName: 'zhsw:putian_network_access_enterprise',
90
- QUERY_LAYERS: 'zhsw:putian_network_access_enterprise',
91
- ...params,
92
- },
93
- style: 'RWQY',
94
- zIndex: 5,
95
- key: 'SS_RWQY',
96
- name: '入网企业',
97
- autoRefresh: true,
98
- template: feature => {
99
- return <div>{feature.values_.name}</div>;
100
- }
101
- });
102
-
103
- map.addLayer(layer);
104
- ```
105
-
106
- ```jsx
107
- // 加载 接口
108
- let layer = new FeatureLayer({
109
- url: '/cloud/zhsw-jcss/api/device/list',
110
- params: {
111
- deviceTypeId: 'WATER_METER',
112
- },
113
- style: 'YWJ',
114
- zIndex: 5,
115
- key: 'SB_YWJ',
116
- name: '液位计',
117
- labelField: 'deviceFactoryName',
118
- autoRefresh: true, // 自动刷新
119
- template: feature => {
120
- return <PopupTemplate feature={feature} map={map} />;
121
- },
122
- });
123
-
124
- map.addLayer(layer);
125
- ```
126
-
127
- ```jsx
128
- // 加载 数据
129
- let layer = new FeatureLayer({
130
- data: {name: 'xxx液位计', geometryInfo: {coordType: "wgs84", type: 'point', lngLats: '119.0248,25.6389'}}, // []
131
- style: 'YWJ',
132
- zIndex: 5,
133
- key: 'SB_YWJ',
134
- name: '液位计',
135
- labelField: 'name',
136
- autoRefresh: true, // 自动刷新
137
- template: feature => {
138
- return <PopupTemplate feature={feature} map={map} />;
139
- },
140
- });
141
-
142
- map.addLayer(layer);
143
- ```
144
-
145
- #### api
146
-
147
- | 参数 | 说明 | 类型 | 是否必填 |
148
- |---------------|---------------------------------------------------|-----------|------|
149
- | url | 图层接口 | string | 否 |
150
- | method | 请求方式 | string | 否 |
151
- | params | 请求参数 | object | 否 |
152
- | sourceOptions | 数据源图层其他参数 | object | 否 |
153
- | data | 直接通过 json 数据渲染,可忽略上面的请求,但注意必须包含 `geometryInfo` 字段 | object | 否 |
154
- | features | 直接通过图形数据渲染,可忽略上面的请求 | object | 否 |
155
- | key | 图层标识 | string | 是 |
156
- | name | 图层名称 | string | 是 |
157
- | labelField | 标签取值字段 | string | 是 |
158
- | style | 图层样式,传入字符串时会直接从 MapIcon 中加载 | string | 是 |
159
- | template | 缩略看板 | ReactNode | 否 |
160
- | autoRefresh | 自动刷新标识 | string | 否 |
161
-
162
- #### method
163
-
164
- | 方法 | 说明 |
165
- |--------------------------------------|-------------|
166
- | refresh() | 刷新图层 |
167
- | loadData(data) | 加载数据 |
168
- | loadUrlData(url, params, method) | 通过接口请求加载数据 |
169
- | loadFeatures(features) | 加载图形 |
170
- | getFeatureByFieldValue(field, value) | 通过字段及内容查找图形 |
171
-
172
- #### geometryInfo 说明
173
-
174
- | 字段 | 说明 | 类型 | 是否必填 |
175
- |-----------|:-----------------------------------------------------------------|--------|------|
176
- | type | 图形类型: `point`、`polyline`、`polygon` | string | 是 |
177
- | lngLats | 经纬度: "119.0248,25.6389", 多个: "119.0248,25.6389;119.0248,25.6389" | string | 是 |
178
- | coordType | 坐标系: `wgs84`、`bmap`、`amap` | string | 是 |
179
-
180
- ### ImageLayer 图像图层
181
-
182
- #### api
183
-
184
- | 参数 | 说明 | 类型 | 是否必填 |
185
- |---------------|-----------|-----------|------|
186
- | url | 图层接口 | string | 否 |
187
- | method | 请求方式 | string | 否 |
188
- | params | 请求参数 | object | 否 |
189
- | sourceOptions | 数据源图层其他参数 | object | 否 |
190
- | key | 图层标识 | string | 是 |
191
- | name | 图层名称 | string | 是 |
192
- | labelField | 标签取值字段 | string | 是 |
193
- | template | 缩略看板 | ReactNode | 否 |
194
-
195
- #### method
196
-
197
- | 方法 | 说明 |
198
- |----------------------------|--------------|
199
- | getFeatureInfo(event, map) | 获取鼠标点击时的图形信息 |
200
-
201
-
202
- ### Util 工具类
1
+ # cs-map
2
+
3
+ 基于 cesium 封装的地图库
4
+
5
+ ## 整体思路
6
+
7
+ ## 组件列表
8
+
9
+ - 地图 Map
10
+ - 底图切换
11
+ - 天地图-矢量
12
+ - 天地图-卫星
13
+ - 绘制 Draw
14
+ - 点
15
+ - 线
16
+ - 面
17
+ - 圆
18
+ - 图层 Layer
19
+ - 图形图层
20
+ - 影像图层
21
+ - 工具栏
22
+ - 搜索
23
+ - 工具
24
+ - 测距
25
+ - 测面
26
+ - 框选
27
+ - 圈选
28
+ - 多边形选择
29
+ - 地图书签
30
+ - 地图下载
31
+ - 地图打印
32
+ - 空间定位查询
33
+ - 比例尺
34
+ - 鹰眼
35
+ - 视图
36
+ - 默认视角
37
+ - 放大
38
+ - 缩小
39
+ - 分析
40
+ - 管网基础分析
41
+ - 缓冲区分析
42
+ - 联通性分析
43
+ - 流向性分析
44
+ - 横截面分析
45
+ - 纵断面分析
46
+ - 管网结构智能诊断
47
+ - 爆管关阀分析
48
+ - 消防栓分析
49
+ - 纳污范围分析
50
+ - 污染源分析
51
+ - 大口径分析
52
+ - 管网智能分析
53
+ - 孤立区域诊断
54
+ - 环状管网诊断
55
+ - 逆坡识别诊断
56
+ - 流向异常诊断
57
+ - 大管套小管诊断
58
+ - 图层
59
+ - 全选
60
+ - 行政区划
61
+ - ......
62
+
63
+ ### 地图
64
+
65
+ #### method
66
+
67
+ | 方法 | 作用 |
68
+ |-----------------------------|-----------------|
69
+ | getLayerByFeature(feature) | 通过图形查询所属图层 |
70
+ | getLayerByKey(keys) | 根据 keys 查找展示的图层 |
71
+ | getVisibleLayersByKeys(key) | 根据 keys 查找展示的图层 |
72
+ | showTip(content) | 展示提示 |
73
+ | hideTip() | 隐藏提示 |
74
+ | showModal(params) | 展示弹窗 |
75
+
76
+ ### FeatureLayer 图形图层
77
+
78
+ #### 示例
79
+ ```jsx
80
+ // 加载 geoserver
81
+ let layer = new FeatureLayer({
82
+ url: '/geoserver/zhsw/wms',
83
+ params: {
84
+ service: 'WFS',
85
+ version: '1.0.0',
86
+ request: 'GetFeature',
87
+ maxFeatures: 99999,
88
+ outputFormat: 'application/json',
89
+ typeName: 'zhsw:putian_network_access_enterprise',
90
+ QUERY_LAYERS: 'zhsw:putian_network_access_enterprise',
91
+ ...params,
92
+ },
93
+ style: 'RWQY',
94
+ zIndex: 5,
95
+ key: 'SS_RWQY',
96
+ name: '入网企业',
97
+ autoRefresh: true,
98
+ template: feature => {
99
+ return <div>{feature.values_.name}</div>;
100
+ }
101
+ });
102
+
103
+ map.addLayer(layer);
104
+ ```
105
+
106
+ ```jsx
107
+ // 加载 接口
108
+ let layer = new FeatureLayer({
109
+ url: '/cloud/zhsw-jcss/api/device/list',
110
+ params: {
111
+ deviceTypeId: 'WATER_METER',
112
+ },
113
+ style: 'YWJ',
114
+ zIndex: 5,
115
+ key: 'SB_YWJ',
116
+ name: '液位计',
117
+ labelField: 'deviceFactoryName',
118
+ autoRefresh: true, // 自动刷新
119
+ template: feature => {
120
+ return <PopupTemplate feature={feature} map={map} />;
121
+ },
122
+ });
123
+
124
+ map.addLayer(layer);
125
+ ```
126
+
127
+ ```jsx
128
+ // 加载 数据
129
+ let layer = new FeatureLayer({
130
+ data: {name: 'xxx液位计', geometryInfo: {coordType: "wgs84", type: 'point', lngLats: '119.0248,25.6389'}}, // []
131
+ style: 'YWJ',
132
+ zIndex: 5,
133
+ key: 'SB_YWJ',
134
+ name: '液位计',
135
+ labelField: 'name',
136
+ autoRefresh: true, // 自动刷新
137
+ template: feature => {
138
+ return <PopupTemplate feature={feature} map={map} />;
139
+ },
140
+ });
141
+
142
+ map.addLayer(layer);
143
+ ```
144
+
145
+ #### api
146
+
147
+ | 参数 | 说明 | 类型 | 是否必填 |
148
+ |---------------|---------------------------------------------------|-----------|------|
149
+ | url | 图层接口 | string | 否 |
150
+ | method | 请求方式 | string | 否 |
151
+ | params | 请求参数 | object | 否 |
152
+ | sourceOptions | 数据源图层其他参数 | object | 否 |
153
+ | data | 直接通过 json 数据渲染,可忽略上面的请求,但注意必须包含 `geometryInfo` 字段 | object | 否 |
154
+ | features | 直接通过图形数据渲染,可忽略上面的请求 | object | 否 |
155
+ | key | 图层标识 | string | 是 |
156
+ | name | 图层名称 | string | 是 |
157
+ | labelField | 标签取值字段 | string | 是 |
158
+ | style | 图层样式,传入字符串时会直接从 MapIcon 中加载 | string | 是 |
159
+ | template | 缩略看板 | ReactNode | 否 |
160
+ | autoRefresh | 自动刷新标识 | string | 否 |
161
+
162
+ #### method
163
+
164
+ | 方法 | 说明 |
165
+ |--------------------------------------|-------------|
166
+ | refresh() | 刷新图层 |
167
+ | loadData(data) | 加载数据 |
168
+ | loadUrlData(url, params, method) | 通过接口请求加载数据 |
169
+ | loadFeatures(features) | 加载图形 |
170
+ | getFeatureByFieldValue(field, value) | 通过字段及内容查找图形 |
171
+
172
+ #### geometryInfo 说明
173
+
174
+ | 字段 | 说明 | 类型 | 是否必填 |
175
+ |-----------|:-----------------------------------------------------------------|--------|------|
176
+ | type | 图形类型: `point`、`polyline`、`polygon` | string | 是 |
177
+ | lngLats | 经纬度: "119.0248,25.6389", 多个: "119.0248,25.6389;119.0248,25.6389" | string | 是 |
178
+ | coordType | 坐标系: `wgs84`、`bmap`、`amap` | string | 是 |
179
+
180
+ ### ImageLayer 图像图层
181
+
182
+ #### api
183
+
184
+ | 参数 | 说明 | 类型 | 是否必填 |
185
+ |---------------|-----------|-----------|------|
186
+ | url | 图层接口 | string | 否 |
187
+ | method | 请求方式 | string | 否 |
188
+ | params | 请求参数 | object | 否 |
189
+ | sourceOptions | 数据源图层其他参数 | object | 否 |
190
+ | key | 图层标识 | string | 是 |
191
+ | name | 图层名称 | string | 是 |
192
+ | labelField | 标签取值字段 | string | 是 |
193
+ | template | 缩略看板 | ReactNode | 否 |
194
+
195
+ #### method
196
+
197
+ | 方法 | 说明 |
198
+ |----------------------------|--------------|
199
+ | getFeatureInfo(event, map) | 获取鼠标点击时的图形信息 |
200
+
201
+
202
+ ### Util 工具类
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Context = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
+ var Context = /*#__PURE__*/_react["default"].createContext({});
10
+ exports.Context = Context;
11
+ var Provider = Context.Provider;
12
+ var _default = Provider;
13
+ exports["default"] = _default;
14
+ //# sourceMappingURL=Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.js","names":["_react","_interopRequireDefault","require","obj","__esModule","Context","React","createContext","exports","Provider","_default"],"sources":["_util/Provider.js"],"sourcesContent":["import React from 'react';\nconst Context = React.createContext({});\nconst Provider = Context.Provider;\nexport { Context };\nexport default Provider;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAC1B,IAAME,OAAO,gBAAGC,iBAAK,CAACC,aAAa,CAAC,CAAC,CAAC,CAAC;AAACC,OAAA,CAAAH,OAAA,GAAAA,OAAA;AACxC,IAAMI,QAAQ,GAAGJ,OAAO,CAACI,QAAQ;AAAC,IAAAC,QAAA,GAEnBD,QAAQ;AAAAD,OAAA,cAAAE,QAAA"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _react = require("react");
8
+ var _Provider = require("./Provider");
9
+ var useProps = function useProps() {
10
+ var params = (0, _react.useContext)(_Provider.Context);
11
+ return params;
12
+ };
13
+ var _default = useProps;
14
+ exports["default"] = _default;
15
+ //# sourceMappingURL=useProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProps.js","names":["_react","require","_Provider","useProps","params","useContext","Context","_default","exports"],"sources":["_util/useProps.js"],"sourcesContent":["import { useContext } from 'react';\nimport { Context } from './Provider';\n\nconst useProps = () => {\n const params = useContext(Context);\n return params;\n};\n\nexport default useProps;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAME,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAS;EACnB,IAAMC,MAAM,GAAG,IAAAC,iBAAU,EAACC,iBAAO,CAAC;EAClC,OAAOF,MAAM;AACjB,CAAC;AAAC,IAAAG,QAAA,GAEaJ,QAAQ;AAAAK,OAAA,cAAAD,QAAA"}
@@ -156,6 +156,9 @@ var _default = /*#__PURE__*/function (_CustomDataSource) {
156
156
  var entity = createFeature(v);
157
157
  if (entity) {
158
158
  (0, _renderer.setRenderer)(entity, _this4.style);
159
+ entity.type = _this4.modalType || _this4.key;
160
+ entity.key = _this4.key;
161
+ entity.properties = v.properties || {};
159
162
  _this4.entities.add(entity);
160
163
  }
161
164
  });
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureLayer.js","names":["_cesium","require","_CockpitIcon","_interopRequireDefault","_createFeatureCollection","_Marker","_Polyline","_Polygon","_renderer","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","_inherits","subClass","superClass","create","constructor","value","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","P","Point","Marker","Polyline","Polygon","createFeature","v","_v$geometry","geometry","type","coordinates","properties","_default","_CustomDataSource","_super","options","_this2","url","params","data","name","labelField","template","autoRefresh","method","renderMode","style","loadUrlData","loadData","setRenderMode","hideClustering","setStyle","showClustering","refresh","getDataByHttp","then","_res$features","features","entities","removeAll","geoJsonData","createFeatureCollection","Array","isArray","render","_this3","_res$features2","_this4","map","entity","setRenderer","add","_this5","values","mode","color","size","customStyle","clustering","pixelRange","minimumClusterSize","enabled","defined","removeListener","_this","clusterEvent","addEventListener","clusteredEntities","cluster","label","show","billboard","id","verticalOrigin","VerticalOrigin","BOTTOM","heightReference","HeightReference","CLAMP_TO_GROUND","horizontalOrigin","HorizontalOrigin","CENTER","disableDepthTestDistance","text","image","CockpitIcon","canvasIcon","hideFooter","info","fontSize","getImgUrl","loadFeatures","getSource","addFeatures","getFeatureByFieldValue","field","getFeatures","find","values_","CustomDataSource","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import {\n CustomDataSource,\n defined,\n VerticalOrigin,\n HeightReference,\n HorizontalOrigin,\n} from 'cesium';\nimport CockpitIcon from '@vtx/map-icon/lib/map-icon/CockpitIcon';\nimport { createFeatureCollection, getDataByHttp } from './createFeatureCollection';\nimport Marker from '../marker/Marker';\nimport Polyline from '../polyline/Polyline';\nimport Polygon from '../polygon/Polygon';\nimport { setRenderer } from '../renderer';\n\nconst P = {\n Point: Marker,\n Marker: Marker,\n Polyline: Polyline,\n Polygon: Polygon,\n};\n\nconst createFeature = v => {\n let { type, coordinates } = v.geometry;\n\n if (P[type]) {\n return new P[type]({ geometry: coordinates, properties: v });\n }\n};\n\nexport default class extends CustomDataSource {\n constructor(options) {\n const {\n url,\n params,\n data,\n key,\n name,\n labelField,\n template,\n autoRefresh,\n method,\n renderMode,\n style,\n } = options;\n\n super(options);\n\n // 接口地址\n this.url = url;\n\n // 接口地址请求类型\n this.method = method;\n\n // 接口查询参数\n this.params = params;\n\n // 图层标识\n this.key = key;\n\n // 图层名称\n this.name = name;\n\n // 渲染\n this.style = style;\n\n // 标签字段\n this.labelField = labelField;\n\n // 自动刷新标识\n this.autoRefresh = autoRefresh;\n\n // 模版内容\n this.template = template;\n\n // 渲染模式\n this.renderMode = renderMode || 'marker';\n\n // 是否存在地址\n if (url) {\n // 执行\n this.loadUrlData(url, params, method);\n }\n\n // 直接加载数据\n if (data) {\n // 执行\n this.loadData(data);\n }\n }\n\n setRenderMode(renderMode) {\n this.hideClustering();\n\n // 展示聚合时设置样式为 marker 并且开启聚合监听\n if (renderMode === 'clustering') {\n this.renderMode = 'marker';\n this.setStyle();\n this.showClustering();\n } else {\n this.renderMode = renderMode;\n this.setStyle();\n }\n }\n\n refresh() {\n getDataByHttp(this.url, this.params, this.method).then(res => {\n if (res?.features?.length) {\n }\n });\n }\n\n loadData(data) {\n this.entities.removeAll();\n let geoJsonData = createFeatureCollection(Array.isArray(data) ? data : [data]);\n this.render(geoJsonData);\n }\n\n loadUrlData(url, params, method) {\n this.entities.removeAll();\n getDataByHttp(url, params, method).then(res => {\n if (res?.features?.length) {\n this.render(res);\n }\n });\n }\n\n render(geoJsonData) {\n if (geoJsonData) {\n let { features } = geoJsonData;\n features.map(v => {\n let entity = createFeature(v);\n if (entity) {\n setRenderer(entity, this.style);\n this.entities.add(entity);\n }\n });\n }\n }\n\n setStyle() {\n if (this.renderMode === 'point') {\n this.entities.values.map(entity => {\n setRenderer(entity, {\n mode: 'Simple',\n render: {\n type: 'Marker',\n style: {\n type: 'PointIcon',\n color: '#0080ff',\n size: 15,\n },\n },\n });\n });\n } else {\n this.entities.values.map(entity => {\n setRenderer(entity, this.style);\n });\n }\n }\n\n showClustering() {\n // 是否聚合\n this.customStyle();\n this.clustering.pixelRange = 100;\n this.clustering.minimumClusterSize = 2;\n this.clustering.enabled = true;\n }\n\n hideClustering() {\n this.clustering.enabled = false;\n if (defined(this.removeListener) && this.removeListener) {\n this.removeListener();\n this.removeListener = undefined;\n }\n }\n\n customStyle() {\n let _this = this;\n if (defined(this.removeListener) && this.removeListener) {\n this.removeListener();\n this.removeListener = undefined;\n } else {\n this.removeListener = this.clustering.clusterEvent.addEventListener(function(\n clusteredEntities,\n cluster,\n ) {\n cluster.label.show = false;\n cluster.billboard.show = true;\n cluster.billboard.id = cluster.label.id;\n cluster.billboard.verticalOrigin = VerticalOrigin.BOTTOM;\n cluster.billboard.heightReference = HeightReference.CLAMP_TO_GROUND;\n cluster.billboard.horizontalOrigin = HorizontalOrigin.CENTER;\n cluster.billboard.disableDepthTestDistance = 10000;\n\n let text = clusteredEntities.length;\n let color = 'rgb(9,220,107)';\n if (clusteredEntities.length >= 50) {\n text = '50+';\n color = 'rgb(220,33,9)';\n } else if (clusteredEntities.length >= 40) {\n text = '40+';\n color = 'rgb(232,119,5)';\n } else if (clusteredEntities.length >= 30) {\n text = '30+';\n color = 'rgb(232,194,4)';\n } else if (clusteredEntities.length >= 20) {\n text = '20+';\n color = 'rgba(20, 232, 4, 1)';\n } else if (clusteredEntities.length >= 10) {\n text = '10+';\n color = 'rgb(0,128,255)';\n }\n cluster.billboard.image = new CockpitIcon({\n canvasIcon: _this.style,\n color,\n hideFooter: true,\n info: [{ text, fontSize: 24 }],\n }).getImgUrl();\n });\n }\n }\n\n loadFeatures(features) {\n this.entities.removeAll();\n this.getSource().addFeatures(features);\n }\n\n getFeatureByFieldValue(field, value) {\n return this.getSource()\n .getFeatures()\n .find(v => v.values_[field] === value);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FeatureLayer.js","names":["_cesium","require","_CockpitIcon","_interopRequireDefault","_createFeatureCollection","_Marker","_Polyline","_Polygon","_renderer","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","_inherits","subClass","superClass","create","constructor","value","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","P","Point","Marker","Polyline","Polygon","createFeature","v","_v$geometry","geometry","type","coordinates","properties","_default","_CustomDataSource","_super","options","_this2","url","params","data","name","labelField","template","autoRefresh","method","renderMode","style","loadUrlData","loadData","setRenderMode","hideClustering","setStyle","showClustering","refresh","getDataByHttp","then","_res$features","features","entities","removeAll","geoJsonData","createFeatureCollection","Array","isArray","render","_this3","_res$features2","_this4","map","entity","setRenderer","modalType","add","_this5","values","mode","color","size","customStyle","clustering","pixelRange","minimumClusterSize","enabled","defined","removeListener","_this","clusterEvent","addEventListener","clusteredEntities","cluster","label","show","billboard","id","verticalOrigin","VerticalOrigin","BOTTOM","heightReference","HeightReference","CLAMP_TO_GROUND","horizontalOrigin","HorizontalOrigin","CENTER","disableDepthTestDistance","text","image","CockpitIcon","canvasIcon","hideFooter","info","fontSize","getImgUrl","loadFeatures","getSource","addFeatures","getFeatureByFieldValue","field","getFeatures","find","values_","CustomDataSource","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import {\n CustomDataSource,\n defined,\n VerticalOrigin,\n HeightReference,\n HorizontalOrigin,\n} from 'cesium';\nimport CockpitIcon from '@vtx/map-icon/lib/map-icon/CockpitIcon';\nimport { createFeatureCollection, getDataByHttp } from './createFeatureCollection';\nimport Marker from '../marker/Marker';\nimport Polyline from '../polyline/Polyline';\nimport Polygon from '../polygon/Polygon';\nimport { setRenderer } from '../renderer';\n\nconst P = {\n Point: Marker,\n Marker: Marker,\n Polyline: Polyline,\n Polygon: Polygon,\n};\n\nconst createFeature = v => {\n let { type, coordinates } = v.geometry;\n\n if (P[type]) {\n return new P[type]({ geometry: coordinates, properties: v });\n }\n};\n\nexport default class extends CustomDataSource {\n constructor(options) {\n const {\n url,\n params,\n data,\n key,\n name,\n labelField,\n template,\n autoRefresh,\n method,\n renderMode,\n style,\n } = options;\n\n super(options);\n\n // 接口地址\n this.url = url;\n\n // 接口地址请求类型\n this.method = method;\n\n // 接口查询参数\n this.params = params;\n\n // 图层标识\n this.key = key;\n\n // 图层名称\n this.name = name;\n\n // 渲染\n this.style = style;\n\n // 标签字段\n this.labelField = labelField;\n\n // 自动刷新标识\n this.autoRefresh = autoRefresh;\n\n // 模版内容\n this.template = template;\n\n // 渲染模式\n this.renderMode = renderMode || 'marker';\n\n // 是否存在地址\n if (url) {\n // 执行\n this.loadUrlData(url, params, method);\n }\n\n // 直接加载数据\n if (data) {\n // 执行\n this.loadData(data);\n }\n }\n\n setRenderMode(renderMode) {\n this.hideClustering();\n\n // 展示聚合时设置样式为 marker 并且开启聚合监听\n if (renderMode === 'clustering') {\n this.renderMode = 'marker';\n this.setStyle();\n this.showClustering();\n } else {\n this.renderMode = renderMode;\n this.setStyle();\n }\n }\n\n refresh() {\n getDataByHttp(this.url, this.params, this.method).then(res => {\n if (res?.features?.length) {\n }\n });\n }\n\n loadData(data) {\n this.entities.removeAll();\n let geoJsonData = createFeatureCollection(Array.isArray(data) ? data : [data]);\n this.render(geoJsonData);\n }\n\n loadUrlData(url, params, method) {\n this.entities.removeAll();\n getDataByHttp(url, params, method).then(res => {\n if (res?.features?.length) {\n this.render(res);\n }\n });\n }\n\n render(geoJsonData) {\n if (geoJsonData) {\n let { features } = geoJsonData;\n features.map(v => {\n let entity = createFeature(v);\n if (entity) {\n setRenderer(entity, this.style);\n\n entity.type = this.modalType || this.key;\n entity.key = this.key;\n entity.properties = v.properties || {};\n\n this.entities.add(entity);\n }\n });\n }\n }\n\n setStyle() {\n if (this.renderMode === 'point') {\n this.entities.values.map(entity => {\n setRenderer(entity, {\n mode: 'Simple',\n render: {\n type: 'Marker',\n style: {\n type: 'PointIcon',\n color: '#0080ff',\n size: 15,\n },\n },\n });\n });\n } else {\n this.entities.values.map(entity => {\n setRenderer(entity, this.style);\n });\n }\n }\n\n showClustering() {\n // 是否聚合\n this.customStyle();\n this.clustering.pixelRange = 100;\n this.clustering.minimumClusterSize = 2;\n this.clustering.enabled = true;\n }\n\n hideClustering() {\n this.clustering.enabled = false;\n if (defined(this.removeListener) && this.removeListener) {\n this.removeListener();\n this.removeListener = undefined;\n }\n }\n\n customStyle() {\n let _this = this;\n if (defined(this.removeListener) && this.removeListener) {\n this.removeListener();\n this.removeListener = undefined;\n } else {\n this.removeListener = this.clustering.clusterEvent.addEventListener(function(\n clusteredEntities,\n cluster,\n ) {\n cluster.label.show = false;\n cluster.billboard.show = true;\n cluster.billboard.id = cluster.label.id;\n cluster.billboard.verticalOrigin = VerticalOrigin.BOTTOM;\n cluster.billboard.heightReference = HeightReference.CLAMP_TO_GROUND;\n cluster.billboard.horizontalOrigin = HorizontalOrigin.CENTER;\n cluster.billboard.disableDepthTestDistance = 10000;\n\n let text = clusteredEntities.length;\n let color = 'rgb(9,220,107)';\n if (clusteredEntities.length >= 50) {\n text = '50+';\n color = 'rgb(220,33,9)';\n } else if (clusteredEntities.length >= 40) {\n text = '40+';\n color = 'rgb(232,119,5)';\n } else if (clusteredEntities.length >= 30) {\n text = '30+';\n color = 'rgb(232,194,4)';\n } else if (clusteredEntities.length >= 20) {\n text = '20+';\n color = 'rgba(20, 232, 4, 1)';\n } else if (clusteredEntities.length >= 10) {\n text = '10+';\n color = 'rgb(0,128,255)';\n }\n cluster.billboard.image = new CockpitIcon({\n canvasIcon: _this.style,\n color,\n hideFooter: true,\n info: [{ text, fontSize: 24 }],\n }).getImgUrl();\n });\n }\n }\n\n loadFeatures(features) {\n this.entities.removeAll();\n this.getSource().addFeatures(features);\n }\n\n getFeatureByFieldValue(field, value) {\n return this.getSource()\n .getFeatures()\n .find(v => v.values_[field] === value);\n }\n}\n"],"mappings":"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"}
@@ -9,6 +9,8 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _FeatureLayer = _interopRequireDefault(require("./FeatureLayer"));
10
10
  var _ahooks = require("ahooks");
11
11
  var _events = require("../events");
12
+ var _useProps2 = _interopRequireDefault(require("../_util/useProps"));
13
+ var _Provider = _interopRequireDefault(require("../_util/Provider"));
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -19,14 +21,14 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
19
21
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
20
22
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
23
  function _default(props) {
22
- var __map__ = props.__map__,
23
- data = props.data,
24
+ var data = props.data,
24
25
  features = props.features,
25
26
  url = props.url,
26
27
  params = props.params,
27
28
  style = props.style,
28
29
  zIndex = props.zIndex,
29
- key = props._key,
30
+ key = props.id,
31
+ _key = props._key,
30
32
  name = props.name,
31
33
  labelField = props.labelField,
32
34
  template = props.template,
@@ -37,6 +39,8 @@ function _default(props) {
37
39
  layerLoad = _useState2[0],
38
40
  setLayerLoad = _useState2[1];
39
41
  var layerRef = (0, _react.useRef)();
42
+ var _useProps = (0, _useProps2["default"])(),
43
+ map = _useProps.map;
40
44
  (0, _react.useEffect)(function () {
41
45
  var layer = new _FeatureLayer["default"]({
42
46
  url: url,
@@ -46,19 +50,19 @@ function _default(props) {
46
50
  params: params,
47
51
  style: style,
48
52
  zIndex: zIndex,
49
- key: key,
53
+ key: key || _key,
50
54
  name: name,
51
55
  labelField: labelField,
52
56
  template: template
53
57
  });
54
- __map__.dataSources.add(layer);
58
+ map.dataSources.add(layer);
55
59
 
56
60
  // 注册事件
57
61
  (0, _events.registerEventLayer)(layer, props);
58
62
  layerRef.current = layer;
59
63
  setLayerLoad(true);
60
64
  return function () {
61
- __map__.dataSources.remove(layer);
65
+ map.dataSources.remove(layer);
62
66
  };
63
67
  }, []);
64
68
  (0, _ahooks.useUpdateEffect)(function () {
@@ -67,22 +71,11 @@ function _default(props) {
67
71
  (0, _ahooks.useUpdateEffect)(function () {
68
72
  layerRef.current.setRenderMode(renderMode);
69
73
  }, [renderMode]);
70
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, layerLoad && _react.Children.map(children, function (child) {
71
- if (child) {
72
- var cType = child.type;
73
- /* 针对下面两种组件不注入地图相关属性
74
- * 1. 明确声明不需要注入的
75
- * 2. DOM 元素
76
- */
77
- if (cType.preventMap || typeof cType === 'string') {
78
- return child;
79
- }
80
- return /*#__PURE__*/_react["default"].cloneElement(child, {
81
- __map__: __map__ || map,
82
- __featureLayer__: layerRef.current
83
- });
74
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, layerLoad && /*#__PURE__*/_react["default"].createElement(_Provider["default"], {
75
+ value: {
76
+ map: map,
77
+ featureLayer: layerRef.current
84
78
  }
85
- return child;
86
- }));
79
+ }, children));
87
80
  }
88
81
  //# sourceMappingURL=index.js.map