@vtx/ol-map 1.0.11 → 1.0.13
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/lib/_util/layer.js +12 -13
- package/lib/_util/layer.js.map +1 -1
- package/lib/feature-layer/FeatureLayer.js +340 -162
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/feature-layer/createFeatureCollection.js +143 -0
- package/lib/feature-layer/createFeatureCollection.js.map +1 -0
- package/lib/feature-layer/index.js +17 -3
- package/lib/feature-layer/index.js.map +1 -1
- package/lib/image-layer/ImageLayer.js +26 -0
- package/lib/image-layer/ImageLayer.js.map +1 -1
- package/lib/image-layer/index.js +11 -3
- package/lib/image-layer/index.js.map +1 -1
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -1
- package/lib/map/Popup.js +27 -36
- package/lib/map/Popup.js.map +1 -1
- package/lib/map/index.js +145 -55
- package/lib/map/index.js.map +1 -1
- package/lib/marker/Marker.js +4 -3
- package/lib/marker/Marker.js.map +1 -1
- package/lib/tile-layer/TileLayer.js +87 -0
- package/lib/tile-layer/TileLayer.js.map +1 -0
- package/lib/tile-layer/index.js +51 -0
- package/lib/tile-layer/index.js.map +1 -0
- package/lib/tile-layer/style/css.js +4 -0
- package/lib/tile-layer/style/css.js.map +1 -0
- package/lib/tile-layer/style/index.css +0 -0
- package/lib/tile-layer/style/index.js +4 -0
- package/lib/tile-layer/style/index.js.map +1 -0
- package/lib/tile-layer/style/index.less +0 -0
- package/lib/tools/Utils/HighLayer.js +1 -0
- package/lib/tools/Utils/HighLayer.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.getStyle = exports["default"] = void 0;
|
|
8
7
|
var _layer = require("ol/layer");
|
|
8
|
+
var _ol = require("ol");
|
|
9
9
|
var _source = require("ol/source");
|
|
10
|
-
var _style = require("ol/style");
|
|
11
|
-
var _format = require("ol/format");
|
|
12
10
|
var _renderer = _interopRequireDefault(require("../renderer"));
|
|
13
|
-
var
|
|
14
|
-
var _mapTool = _interopRequireDefault(require("../_util/mapTool"));
|
|
11
|
+
var _style2 = require("ol/style");
|
|
15
12
|
var _isFunction = _interopRequireDefault(require("../_util/isFunction"));
|
|
13
|
+
var _createFeatureCollection = require("./createFeatureCollection");
|
|
14
|
+
var _excluded = ["url", "params", "data", "features", "sourceOptions", "key", "name", "label", "labelField", "point", "cluster", "template", "autoRefresh", "method", "iconOptions"];
|
|
16
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
16
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
20
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
17
21
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
18
22
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
19
23
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
@@ -24,148 +28,88 @@ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) ===
|
|
|
24
28
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
25
29
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
26
30
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
27
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
28
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
29
31
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
30
32
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
31
33
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
_lonLat = _mapTool["default"].gcj02towgs84(gcj[0], gcj[1]);
|
|
47
|
-
} else if (coordType === 'amap') {
|
|
48
|
-
_lonLat = _mapTool["default"].gcj02towgs84(lonLat[0], lonLat[1]);
|
|
49
|
-
}
|
|
50
|
-
return _lonLat;
|
|
51
|
-
};
|
|
52
|
-
var transformGeometryInfoToWGS84 = function transformGeometryInfoToWGS84(lngLats, type, coordType) {
|
|
53
|
-
var lngLatArr = [];
|
|
54
|
-
if (lngLats) {
|
|
55
|
-
if (type === 'point') {
|
|
56
|
-
var _l = typeof lngLats === 'string' ? lngLats.split(',') : lngLats;
|
|
57
|
-
lngLatArr = transformLonLatToWGS84(_l, coordType);
|
|
58
|
-
} else if (['polygon', 'polyline'].includes(type)) {
|
|
59
|
-
lngLatArr[0] = [];
|
|
60
|
-
lngLats.split(';').map(function (res) {
|
|
61
|
-
var _res$split = res.split(','),
|
|
62
|
-
_res$split2 = _slicedToArray(_res$split, 2),
|
|
63
|
-
lng = _res$split2[0],
|
|
64
|
-
lat = _res$split2[1];
|
|
65
|
-
lngLatArr[0].push(transformLonLatToWGS84([Number(lng), Number(lat)], coordType));
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return lngLatArr;
|
|
70
|
-
};
|
|
71
|
-
var transformGeometry = function transformGeometry(geometryInfo) {
|
|
72
|
-
/**
|
|
73
|
-
* geometry: {
|
|
74
|
-
* "type": "Point | LineString | Polygon | MultiPoint | MultiLineString | MultiPolygon | GeometryCollection",
|
|
75
|
-
* "coordinates": []
|
|
76
|
-
* }
|
|
77
|
-
*/
|
|
78
|
-
|
|
79
|
-
var type = geometryInfo.type,
|
|
80
|
-
lngLats = geometryInfo.lngLats,
|
|
81
|
-
coordType = geometryInfo.coordType;
|
|
34
|
+
var getTextStyle = function getTextStyle(layer) {
|
|
35
|
+
var style = layer._options.style;
|
|
36
|
+
if (style) {
|
|
37
|
+
if (typeof style === 'string') {
|
|
38
|
+
return function (feature) {
|
|
39
|
+
var _style = new _renderer["default"].Marker({
|
|
40
|
+
icon: style
|
|
41
|
+
});
|
|
42
|
+
_style.setText(getText(feature, layer));
|
|
43
|
+
return _style;
|
|
44
|
+
};
|
|
45
|
+
} else {
|
|
46
|
+
// 判断是否为自定义函数渲染
|
|
47
|
+
var isFun = (0, _isFunction["default"])(style);
|
|
82
48
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
* coordType: "wgs84"
|
|
86
|
-
* lngLats: "119.02486914921874,25.63890915087647"
|
|
87
|
-
* type: "point"
|
|
88
|
-
* }
|
|
89
|
-
*/
|
|
49
|
+
// 判断是否为自定义样式渲染
|
|
50
|
+
var isStyle = style instanceof _style2.Style;
|
|
90
51
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
52
|
+
// 判断是否为渲染器渲染
|
|
53
|
+
var isRender = (style === null || style === void 0 ? void 0 : style.type) && style instanceof _renderer["default"][style.type];
|
|
54
|
+
if (isFun || isStyle || isRender) {
|
|
55
|
+
return style;
|
|
56
|
+
} else if (style.mode) {
|
|
57
|
+
if (style.mode === 'Simple') {
|
|
58
|
+
return function (feature) {
|
|
59
|
+
var _style = _renderer["default"].Simple(style.render);
|
|
60
|
+
_style.setText(getText(feature, layer));
|
|
61
|
+
return _style;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
if (style.mode === 'UniqueValue') {
|
|
65
|
+
return function (feature) {
|
|
66
|
+
var _style = _renderer["default"].UniqueValue(feature, style.render);
|
|
67
|
+
_style.setText(getText(feature, layer));
|
|
68
|
+
return _style;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (style.mode === 'ClassBreaks') {
|
|
72
|
+
return function (feature) {
|
|
73
|
+
var _style = _renderer["default"].ClassBreaks(feature, style.render);
|
|
74
|
+
_style.setText(getText(feature, layer));
|
|
75
|
+
return _style;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
118
79
|
}
|
|
119
|
-
});
|
|
120
|
-
featureCollection.features = features;
|
|
121
|
-
return featureCollection;
|
|
122
|
-
};
|
|
123
|
-
var getDataByHttp = function getDataByHttp(url, params, method) {
|
|
124
|
-
var request = _http["default"].get;
|
|
125
|
-
if (method === 'POST' || method === 'post') {
|
|
126
|
-
request = _http["default"].post;
|
|
127
80
|
}
|
|
128
|
-
return request(url, {
|
|
129
|
-
body: params
|
|
130
|
-
}).then(function (res) {
|
|
131
|
-
var _res$data;
|
|
132
|
-
if (url.indexOf('/geoserver/') !== -1) {
|
|
133
|
-
return res;
|
|
134
|
-
}
|
|
135
|
-
if (res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.length) {
|
|
136
|
-
return createFeatureCollection(res.data);
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
81
|
};
|
|
140
82
|
var getStyle = function getStyle(style) {
|
|
141
|
-
if (
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
83
|
+
if (style) {
|
|
84
|
+
if (typeof style === 'string') {
|
|
85
|
+
return new _renderer["default"].Marker({
|
|
86
|
+
icon: style
|
|
87
|
+
});
|
|
88
|
+
} else {
|
|
89
|
+
// 判断是否为自定义函数渲染
|
|
90
|
+
var isFun = (0, _isFunction["default"])(style);
|
|
148
91
|
|
|
149
|
-
|
|
150
|
-
|
|
92
|
+
// 判断是否为自定义样式渲染
|
|
93
|
+
var isStyle = style instanceof _style2.Style;
|
|
151
94
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
95
|
+
// 判断是否为渲染器渲染
|
|
96
|
+
var isRender = (style === null || style === void 0 ? void 0 : style.type) && style instanceof _renderer["default"][style.type];
|
|
97
|
+
if (isFun || isStyle || isRender) {
|
|
98
|
+
return style;
|
|
99
|
+
} else if (style.mode) {
|
|
100
|
+
if (style.mode === 'Simple') {
|
|
101
|
+
return _renderer["default"].Simple(style.render);
|
|
102
|
+
}
|
|
103
|
+
if (style.mode === 'UniqueValue') {
|
|
104
|
+
return function (feature) {
|
|
105
|
+
return _renderer["default"].UniqueValue(feature, style.render);
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
if (style.mode === 'ClassBreaks') {
|
|
109
|
+
return function (feature) {
|
|
110
|
+
return _renderer["default"].ClassBreaks(feature, style.render);
|
|
111
|
+
};
|
|
112
|
+
}
|
|
169
113
|
}
|
|
170
114
|
}
|
|
171
115
|
}
|
|
@@ -184,17 +128,58 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
184
128
|
sourceOptions = options.sourceOptions,
|
|
185
129
|
key = options.key,
|
|
186
130
|
name = options.name,
|
|
187
|
-
|
|
131
|
+
label = options.label,
|
|
132
|
+
_labelField = options.labelField,
|
|
133
|
+
point = options.point,
|
|
134
|
+
cluster = options.cluster,
|
|
188
135
|
template = options.template,
|
|
189
136
|
autoRefresh = options.autoRefresh,
|
|
190
|
-
method = options.method
|
|
191
|
-
|
|
137
|
+
method = options.method,
|
|
138
|
+
iconOptions = options.iconOptions,
|
|
139
|
+
other = _objectWithoutProperties(options, _excluded);
|
|
140
|
+
var props = _objectSpread({}, other);
|
|
141
|
+
props.source = props.source || new _source.Vector(_objectSpread({
|
|
192
142
|
features: features
|
|
193
143
|
}, sourceOptions));
|
|
194
|
-
if (
|
|
195
|
-
|
|
144
|
+
if (props.style) {
|
|
145
|
+
props.style = getStyle(props.style);
|
|
196
146
|
}
|
|
197
|
-
_this = _super.call(this,
|
|
147
|
+
_this = _super.call(this, props);
|
|
148
|
+
|
|
149
|
+
// 参数
|
|
150
|
+
_defineProperty(_assertThisInitialized(_this), "getLabelStyle", function (feature, color) {
|
|
151
|
+
var labelField = _this._options.labelField;
|
|
152
|
+
|
|
153
|
+
// 判断是否是聚合点位
|
|
154
|
+
if (feature.isCluster) {
|
|
155
|
+
var _feature$get;
|
|
156
|
+
var size = ((_feature$get = feature.get('features')) === null || _feature$get === void 0 ? void 0 : _feature$get.length) || 0;
|
|
157
|
+
if (size !== 1) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (labelField) {
|
|
162
|
+
return new _style2.Text({
|
|
163
|
+
text: feature.values_[labelField] || '-',
|
|
164
|
+
font: '12px Calibri,sans-serif',
|
|
165
|
+
fill: new _style2.Fill({
|
|
166
|
+
color: color
|
|
167
|
+
}),
|
|
168
|
+
backgroundFill: new _style2.Fill({
|
|
169
|
+
color: '#fff'
|
|
170
|
+
}),
|
|
171
|
+
backgroundStroke: new _style2.Stroke({
|
|
172
|
+
color: color,
|
|
173
|
+
width: 1
|
|
174
|
+
}),
|
|
175
|
+
padding: [4, 2, 2, 4],
|
|
176
|
+
justify: 'center',
|
|
177
|
+
textBaseline: 'middle',
|
|
178
|
+
offsetY: 12
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
_this._options = options;
|
|
198
183
|
|
|
199
184
|
// 接口地址
|
|
200
185
|
_this.url = url;
|
|
@@ -211,8 +196,17 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
211
196
|
// 图层名称
|
|
212
197
|
_this.name = name;
|
|
213
198
|
|
|
199
|
+
// 标签
|
|
200
|
+
_this.label = label;
|
|
201
|
+
|
|
214
202
|
// 标签字段
|
|
215
|
-
_this.labelField =
|
|
203
|
+
_this.labelField = _labelField;
|
|
204
|
+
|
|
205
|
+
// 聚合
|
|
206
|
+
_this.cluster = cluster;
|
|
207
|
+
|
|
208
|
+
// 海量点
|
|
209
|
+
_this.point = point;
|
|
216
210
|
|
|
217
211
|
// 自动刷新标识
|
|
218
212
|
_this.autoRefresh = autoRefresh;
|
|
@@ -234,17 +228,202 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
234
228
|
return _this;
|
|
235
229
|
}
|
|
236
230
|
_createClass(FeatureLayer, [{
|
|
231
|
+
key: "style",
|
|
232
|
+
set: function set(val) {
|
|
233
|
+
this._options.style = val;
|
|
234
|
+
this.setStyle(this.getStyleByMode());
|
|
235
|
+
}
|
|
236
|
+
}, {
|
|
237
|
+
key: "label",
|
|
238
|
+
set: function set(val) {
|
|
239
|
+
this._options.label = val;
|
|
240
|
+
this.setStyle(this.getStyleByMode());
|
|
241
|
+
}
|
|
242
|
+
}, {
|
|
243
|
+
key: "point",
|
|
244
|
+
set: function set(val) {
|
|
245
|
+
this._options.point = val;
|
|
246
|
+
this.setStyle(this.getStyleByMode());
|
|
247
|
+
}
|
|
248
|
+
}, {
|
|
249
|
+
key: "cluster",
|
|
250
|
+
set: function set(val) {
|
|
251
|
+
this._options.cluster = val;
|
|
252
|
+
this.setClusterSource(val);
|
|
253
|
+
this.setStyle(this.getStyleByMode());
|
|
254
|
+
}
|
|
255
|
+
}, {
|
|
256
|
+
key: "getStyleByMode",
|
|
257
|
+
value: function getStyleByMode() {
|
|
258
|
+
var _this2 = this;
|
|
259
|
+
var style = this._options.style;
|
|
260
|
+
if (style) {
|
|
261
|
+
if (typeof style === 'string') {
|
|
262
|
+
return function (feature) {
|
|
263
|
+
return new _renderer["default"].Marker(_objectSpread({}, _this2.getMarkerOptions(feature, style)));
|
|
264
|
+
};
|
|
265
|
+
} else {
|
|
266
|
+
// 判断是否为自定义函数渲染
|
|
267
|
+
var isFun = (0, _isFunction["default"])(style);
|
|
268
|
+
|
|
269
|
+
// 判断是否为自定义样式渲染
|
|
270
|
+
var isStyle = style instanceof _style2.Style;
|
|
271
|
+
|
|
272
|
+
// 判断是否为渲染器渲染
|
|
273
|
+
var isRender = (style === null || style === void 0 ? void 0 : style.type) && style instanceof _renderer["default"][style.type];
|
|
274
|
+
if (isFun || isStyle || isRender) {
|
|
275
|
+
return style;
|
|
276
|
+
} else if (style.mode) {
|
|
277
|
+
if (style.mode === 'Simple') {
|
|
278
|
+
return function (feature) {
|
|
279
|
+
var options = _this2.getSimpleStyle(feature, style.render);
|
|
280
|
+
return _renderer["default"].Simple(options);
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
if (style.mode === 'UniqueValue') {
|
|
284
|
+
return function (feature) {
|
|
285
|
+
var _feature$get2;
|
|
286
|
+
var size = ((_feature$get2 = feature.get('features')) === null || _feature$get2 === void 0 ? void 0 : _feature$get2.length) || 0;
|
|
287
|
+
if (size > 1) {
|
|
288
|
+
var _options = _this2.getSimpleStyle(feature, style.render.render[0]);
|
|
289
|
+
return _renderer["default"].Simple(_options);
|
|
290
|
+
}
|
|
291
|
+
var options = _this2.getMultipleStyle(feature, style.render);
|
|
292
|
+
return _renderer["default"].UniqueValue(feature, options);
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
if (style.mode === 'ClassBreaks') {
|
|
296
|
+
return function (feature) {
|
|
297
|
+
var _feature$get3;
|
|
298
|
+
var size = ((_feature$get3 = feature.get('features')) === null || _feature$get3 === void 0 ? void 0 : _feature$get3.length) || 0;
|
|
299
|
+
if (size > 1) {
|
|
300
|
+
var _options2 = _this2.getSimpleStyle(feature, style.render.render[0]);
|
|
301
|
+
return _renderer["default"].Simple(_options2);
|
|
302
|
+
}
|
|
303
|
+
var options = _this2.getMultipleStyle(feature, style.render);
|
|
304
|
+
return _renderer["default"].ClassBreaks(feature, options);
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}, {
|
|
312
|
+
key: "getSimpleStyle",
|
|
313
|
+
value: function getSimpleStyle(feature, _render) {
|
|
314
|
+
var _render$style;
|
|
315
|
+
var render = _objectSpread({}, _render);
|
|
316
|
+
if (render.type === "Marker" && render !== null && render !== void 0 && (_render$style = render.style) !== null && _render$style !== void 0 && _render$style.icon) {
|
|
317
|
+
render.style = _objectSpread(_objectSpread({}, render.style), this.getMarkerOptions(feature, render.style));
|
|
318
|
+
}
|
|
319
|
+
return render;
|
|
320
|
+
}
|
|
321
|
+
}, {
|
|
322
|
+
key: "getMultipleStyle",
|
|
323
|
+
value: function getMultipleStyle(feature, _render) {
|
|
324
|
+
var _render$render,
|
|
325
|
+
_this3 = this;
|
|
326
|
+
var render = _objectSpread({}, _render);
|
|
327
|
+
if (render !== null && render !== void 0 && (_render$render = render.render) !== null && _render$render !== void 0 && _render$render.length) {
|
|
328
|
+
render.render = render.render.map(function (v) {
|
|
329
|
+
return _this3.getSimpleStyle(feature, v);
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
return render;
|
|
333
|
+
}
|
|
334
|
+
}, {
|
|
335
|
+
key: "getMarkerOptions",
|
|
336
|
+
value: function getMarkerOptions(feature, style) {
|
|
337
|
+
var _feature$get4;
|
|
338
|
+
var icon = (style === null || style === void 0 ? void 0 : style.icon) || style;
|
|
339
|
+
var color = (style === null || style === void 0 ? void 0 : style.color) || '#2491fc';
|
|
340
|
+
var _this$_options = this._options,
|
|
341
|
+
cluster = _this$_options.cluster,
|
|
342
|
+
point = _this$_options.point,
|
|
343
|
+
label = _this$_options.label;
|
|
344
|
+
var size = ((_feature$get4 = feature.get('features')) === null || _feature$get4 === void 0 ? void 0 : _feature$get4.length) || 0;
|
|
345
|
+
var P = {
|
|
346
|
+
'marker': {
|
|
347
|
+
// 图标
|
|
348
|
+
icon: icon
|
|
349
|
+
},
|
|
350
|
+
'point': {
|
|
351
|
+
// 点位
|
|
352
|
+
icon: icon,
|
|
353
|
+
type: 'PointIcon'
|
|
354
|
+
},
|
|
355
|
+
'marker_cluster': {
|
|
356
|
+
// 聚合图标
|
|
357
|
+
icon: icon,
|
|
358
|
+
iconOptions: size > 1 ? {
|
|
359
|
+
hideFooter: true,
|
|
360
|
+
info: {
|
|
361
|
+
text: size,
|
|
362
|
+
fontSize: 18
|
|
363
|
+
}
|
|
364
|
+
} : {}
|
|
365
|
+
},
|
|
366
|
+
'point_cluster': {
|
|
367
|
+
// 聚合点位
|
|
368
|
+
icon: icon,
|
|
369
|
+
type: 'PointIcon',
|
|
370
|
+
iconOptions: size > 1 ? {
|
|
371
|
+
text: size
|
|
372
|
+
} : {}
|
|
373
|
+
}
|
|
374
|
+
};
|
|
375
|
+
var type = point ? 'point' : 'marker';
|
|
376
|
+
if (cluster) {
|
|
377
|
+
type = 'marker_cluster';
|
|
378
|
+
if (point) {
|
|
379
|
+
type = 'point_cluster';
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
var _style = P[type];
|
|
383
|
+
if (label) {
|
|
384
|
+
_style.text = this.getLabelStyle(feature, color);
|
|
385
|
+
}
|
|
386
|
+
return _style;
|
|
387
|
+
}
|
|
388
|
+
}, {
|
|
389
|
+
key: "setClusterSource",
|
|
390
|
+
value: function setClusterSource(cluster) {
|
|
391
|
+
var source = new _source.Vector({
|
|
392
|
+
features: this._features
|
|
393
|
+
});
|
|
394
|
+
if (cluster) {
|
|
395
|
+
var clusterSource = new _source.Cluster({
|
|
396
|
+
source: source,
|
|
397
|
+
createCluster: function createCluster(point, features) {
|
|
398
|
+
var feature = new _ol.Feature({
|
|
399
|
+
geometry: point,
|
|
400
|
+
features: features
|
|
401
|
+
});
|
|
402
|
+
|
|
403
|
+
// 增加聚合点位标识
|
|
404
|
+
feature.isCluster = true;
|
|
405
|
+
if (features.length === 1) {
|
|
406
|
+
feature.setProperties(features[0].values_);
|
|
407
|
+
}
|
|
408
|
+
return feature;
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
this.setSource(clusterSource);
|
|
412
|
+
} else {
|
|
413
|
+
this.setSource(source);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}, {
|
|
237
417
|
key: "refresh",
|
|
238
418
|
value: function refresh() {
|
|
239
|
-
var
|
|
240
|
-
getDataByHttp(this.url, this.params, this.method).then(function (
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
var new_features = geoJsonFormat.readFeatures(res);
|
|
419
|
+
var _this4 = this;
|
|
420
|
+
(0, _createFeatureCollection.getDataByHttp)(this.url, this.params, this.method).then(function (features) {
|
|
421
|
+
if (features) {
|
|
422
|
+
var new_features = features;
|
|
423
|
+
_this4._features = new_features;
|
|
245
424
|
var newFeatures = [];
|
|
246
425
|
new_features.map(function (v) {
|
|
247
|
-
var f =
|
|
426
|
+
var f = _this4.getFeatureByFieldValue('id', v.values_.id);
|
|
248
427
|
if (f) {
|
|
249
428
|
f.values_ = v.values_;
|
|
250
429
|
} else {
|
|
@@ -252,9 +431,9 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
252
431
|
}
|
|
253
432
|
});
|
|
254
433
|
if (newFeatures.length) {
|
|
255
|
-
|
|
434
|
+
_this4.getSource().addFeatures(newFeatures);
|
|
256
435
|
}
|
|
257
|
-
|
|
436
|
+
_this4.getSource().changed();
|
|
258
437
|
}
|
|
259
438
|
});
|
|
260
439
|
}
|
|
@@ -262,28 +441,27 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
|
|
|
262
441
|
key: "loadData",
|
|
263
442
|
value: function loadData(data) {
|
|
264
443
|
this.getSource().clear();
|
|
265
|
-
var
|
|
266
|
-
|
|
267
|
-
var features = geoJsonFormat.readFeatures(res);
|
|
444
|
+
var features = (0, _createFeatureCollection.createGeoJson)(data);
|
|
445
|
+
this._features = features;
|
|
268
446
|
this.getSource().addFeatures(features);
|
|
269
447
|
}
|
|
270
448
|
}, {
|
|
271
449
|
key: "loadUrlData",
|
|
272
450
|
value: function loadUrlData(url, params, method) {
|
|
273
|
-
var
|
|
451
|
+
var _this5 = this;
|
|
274
452
|
this.getSource().clear();
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
if (
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
_this3.getSource().addFeatures(features);
|
|
453
|
+
this._features = [];
|
|
454
|
+
(0, _createFeatureCollection.getDataByHttp)(url, params, method).then(function (features) {
|
|
455
|
+
if (features !== null && features !== void 0 && features.length) {
|
|
456
|
+
_this5._features = features;
|
|
457
|
+
_this5.getSource().addFeatures(features);
|
|
281
458
|
}
|
|
282
459
|
});
|
|
283
460
|
}
|
|
284
461
|
}, {
|
|
285
462
|
key: "loadFeatures",
|
|
286
463
|
value: function loadFeatures(features) {
|
|
464
|
+
this._features = [];
|
|
287
465
|
this.getSource().clear();
|
|
288
466
|
this.getSource().addFeatures(features);
|
|
289
467
|
}
|