@vtx/ol-map 1.0.164 → 1.0.165

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.
@@ -331,6 +331,34 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
331
331
  this.inited = true;
332
332
  }
333
333
 
334
+ // 根据当前 group 计算每个 feature 的 show(仅影响 this._features 这批原始要素)
335
+ }, {
336
+ key: "applyGroupVisibilityToFeatures",
337
+ value: function applyGroupVisibilityToFeatures() {
338
+ var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._features;
339
+ var group = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.group;
340
+ if (!(group !== null && group !== void 0 && group.length) || !(features !== null && features !== void 0 && features.length)) {
341
+ return;
342
+ }
343
+
344
+ // 只要存在“启用的分组”,则仅显示命中启用分组的要素;否则隐藏全部
345
+ var enabledGroups = group.filter(function (v) {
346
+ return !v.hasOwnProperty('show') || v.show;
347
+ });
348
+ var hasEnabled = enabledGroups.length > 0;
349
+ features.forEach(function (feature) {
350
+ var show = false;
351
+ group.forEach(function (v) {
352
+ var _v$filter;
353
+ v.filter = (0, _stringToFun["default"])(v.filter);
354
+ if (hasEnabled && (!v.hasOwnProperty('show') || v.show) && v !== null && v !== void 0 && (_v$filter = v.filter) !== null && _v$filter !== void 0 && _v$filter.call(v, feature.values_)) {
355
+ show = true;
356
+ }
357
+ });
358
+ feature.show = show;
359
+ });
360
+ }
361
+
334
362
  // 重写父类的属性访问器
335
363
  }, {
336
364
  key: "show",
@@ -435,15 +463,33 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
435
463
  cluster = _this4$_options.cluster,
436
464
  otherStyle = _this4$_options.otherStyle;
437
465
  var show = true;
438
- (_this4$group = _this4.group) === null || _this4$group === void 0 || _this4$group.map(function (v) {
439
- var _v$filter;
440
- if (v !== null && v !== void 0 && (_v$filter = v.filter) !== null && _v$filter !== void 0 && _v$filter.call(v, feature.values_)) {
441
- style = v.style || style;
442
- if (v.hasOwnProperty('show') && !v.show) {
443
- show = false;
444
- }
466
+
467
+ // 如果外部已经通过 group 计算过显隐(setGroup/cluster source 过滤),这里优先尊重结果
468
+ if (feature && feature.hasOwnProperty('show') && !feature.show) {
469
+ return null;
470
+ }
471
+ if ((_this4$group = _this4.group) !== null && _this4$group !== void 0 && _this4$group.length) {
472
+ var enabledGroups = _this4.group.filter(function (v) {
473
+ return !v.hasOwnProperty('show') || v.show;
474
+ });
475
+ // 若存在启用的分组,则只显示命中启用分组的数据;否则隐藏全部
476
+ if (enabledGroups.length) {
477
+ show = enabledGroups.some(function (v) {
478
+ var _v$filter2;
479
+ return v === null || v === void 0 || (_v$filter2 = v.filter) === null || _v$filter2 === void 0 ? void 0 : _v$filter2.call(v, feature.values_);
480
+ });
481
+ } else {
482
+ show = false;
445
483
  }
446
- });
484
+
485
+ // 仍然沿用“命中分组则覆盖样式”的逻辑(与 show 计算解耦)
486
+ _this4.group.map(function (v) {
487
+ var _v$filter3;
488
+ if (v !== null && v !== void 0 && (_v$filter3 = v.filter) !== null && _v$filter3 !== void 0 && _v$filter3.call(v, feature.values_)) {
489
+ style = v.style || style;
490
+ }
491
+ });
492
+ }
447
493
  feature.show = show;
448
494
  if (!show) {
449
495
  return null;
@@ -676,6 +722,8 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
676
722
  minDistance = _cluster.minDistance,
677
723
  distance = _cluster.distance,
678
724
  group = _cluster.group;
725
+ // 重建 source 前,确保原始要素已按当前 group 写入 feature.show
726
+ this.applyGroupVisibilityToFeatures(this._features, group || this.group);
679
727
  var source = new _source.Vector({
680
728
  features: (_this$_features = this._features) === null || _this$_features === void 0 ? void 0 : _this$_features.filter(function (v) {
681
729
  return !v.hasOwnProperty('show') || v.show;
@@ -706,8 +754,8 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
706
754
  var f = features[0];
707
755
  var size = features.length;
708
756
  (_group2 = group) === null || _group2 === void 0 || _group2.map(function (v) {
709
- var _v$filter2;
710
- if (v !== null && v !== void 0 && (_v$filter2 = v.filter) !== null && _v$filter2 !== void 0 && _v$filter2.call(v, f.values_)) {
757
+ var _v$filter4;
758
+ if (v !== null && v !== void 0 && (_v$filter4 = v.filter) !== null && _v$filter4 !== void 0 && _v$filter4.call(v, f.values_)) {
711
759
  style = v.style || style;
712
760
  groupItem = v;
713
761
  }
@@ -853,6 +901,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
853
901
  this.getSource().addFeatures(features);
854
902
  this.setAlarmBgByFeatures(this.getSource().getFeatures());
855
903
  this._features = features;
904
+ this.applyGroupVisibilityToFeatures(this._features, this.group);
856
905
  if (this._options.cluster) {
857
906
  this.setClusterMode(this._options.cluster);
858
907
  }
@@ -878,6 +927,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
878
927
  _this0._features = [];
879
928
  if (features !== null && features !== void 0 && features.length) {
880
929
  _this0._features = features;
930
+ _this0.applyGroupVisibilityToFeatures(_this0._features, _this0.group);
881
931
  _this0.getSource().addFeatures(features);
882
932
  _this0.setAlarmBgByFeatures(_this0.getSource().getFeatures());
883
933
  }
@@ -893,6 +943,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
893
943
  this.getSource().addFeatures(features);
894
944
  this.setAlarmBgByFeatures(this.getSource().getFeatures());
895
945
  this._features = features;
946
+ this.applyGroupVisibilityToFeatures(this._features, this.group);
896
947
  if (this._options.cluster) {
897
948
  this.setClusterMode(this._options.cluster);
898
949
  }
@@ -972,22 +1023,7 @@ var FeatureLayer = /*#__PURE__*/function (_Vector) {
972
1023
  key: "setGroup",
973
1024
  value: function setGroup(group) {
974
1025
  if (group !== null && group !== void 0 && group.length) {
975
- var _this$_features2;
976
- if ((_this$_features2 = this._features) !== null && _this$_features2 !== void 0 && _this$_features2.length) {
977
- this._features.map(function (feature) {
978
- var show = true;
979
- group.map(function (v) {
980
- var _v$filter3;
981
- v.filter = (0, _stringToFun["default"])(v.filter);
982
- if (v !== null && v !== void 0 && (_v$filter3 = v.filter) !== null && _v$filter3 !== void 0 && _v$filter3.call(v, feature.values_)) {
983
- if (v.hasOwnProperty('show') && !v.show) {
984
- show = false;
985
- }
986
- }
987
- });
988
- feature.show = show;
989
- });
990
- }
1026
+ this.applyGroupVisibilityToFeatures(this._features, group);
991
1027
  this.group = group;
992
1028
  this.setVisibleByGroup();
993
1029
  if (this._options.cluster) {
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureLayer.js","names":["_layer","require","_ol","_source","_renderer","_interopRequireDefault","_style5","_isFunction","_createFeatureCollection","_isObject","_encryptParams","_stringToFun","_convertCamelToCSS","_MyCluster","_Marker","_excluded","_excluded2","_excluded3","_excluded4","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","n","_typeof","o","prototype","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","hasOwnProperty","_classCallCheck","_defineProperties","configurable","writable","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","_superPropGet","p","_get","get","bind","_superPropBase","value","_inherits","create","_setPrototypeOf","setPrototypeOf","__proto__","_superPropSet","f","_set","set","getPrototypeOf","_toPrimitive","toPrimitive","String","Number","addOverlay","feature","map","alarmBg","itemVal","find","v","values_","image","style","dom","document","createElement","src","className","cssText","overlay","Overlay","element","positioning","stopEvent","setPosition","getGeometry","getCoordinates","FeatureLayer","_Vector","options","_this2","url","params","data","dataField","features","sourceOptions","label","labelField","point","cluster","template","autoRefresh","method","layerControl","show","group","iconOptions","afterGetData","legend","viewOnly","encrypt","valueField","tipTemplate","cancelPopup","other","props","source","VectorSource","defaultShow","stringToFun","size","_ref","color","background","backgroundStroke","backgroundStrokeWidth","otherVal","text","font","fill","Fill","padding","justify","textAlign","textBaseline","offsetY","offsetX","backgroundFill","Stroke","width","Text","_options","isCluster","_feature$get","distance","inited","item","convertCamelToCSS","_features","init","loadUrlData","loadData","setVisible","val","setStyle","getStyleByMode","setClusterMode","setShow","_this3","_ref2","isObject","setClusterSource","destroy","oldZoom","getView","getZoom","moveEnd","on","zoom","_this3$_options$clust","zoomThreshold","getCustomClusterStyle","clusterStyle","_feature$get2","type","iconSrc","_clusterStyle$scale","scale","numberStyle","numberScale","renderer","Marker","getImgUrl","hideFooter","info","fontSize","anchor","_this4","resolution","_feature$get3","_this4$group","_cluster$style","_this4$_options","otherStyle","_v$filter","styles","isFunction","_styles","getMarkerOptions","Style","_style","getSimpleStyle","Simple","_style3","mode","render","getMultipleStyle","UniqueValue","ClassBreaks","Circle","radius","stroke","_render","_render$style","_render$style2","icon","_render$render","_this5","_feature$get4","iconSize","_this$_options","isFun","_data","_data2","_data3","_data4","_data5","_data6","_data7","_data8","_data9","_data0","_data1","_data10","P","marker","marker_cluster","commonStyle","point_cluster","_Object$keys","includes","_data11","customText","getLabelStyle","_cluster$style2","getClusterTextStyle","_this$_features","_this6","_this","_cluster","minDistance","clusterSource","Cluster","clusterChange","setAlarmBgByFeatures","createCluster","_group","Feature","geometry","layerKey","_group2","_groupItem","groupItem","_v$filter2","markerStyle","_this6$_options","_style4","_markerStyle2","_cluster2","_markerStyle","setProperties","setSource","clearAlarmBg","_this$overlays","_this7","overlays","removeOverlay","_this8","_feature","refresh","_this9","getDataByHttpByParams","field","then","new_features","newFeatures","getFeatureByFieldValue","id","getSource","addFeatures","getFeatures","changed","clear","createGeoJson","_this0","undefined","encryptParams","loadFeatures","getFeaturesByFieldValueOpera","_ref3","_this1","_ref3$operation","operation","Promise","resolve","reject","result","fun","Function","concat","err","_v$values_$field","_v$values_$field2","_v$values_$field3","getMap","setGroup","_this$_features2","_v$filter3","setVisibleByGroup","visible","layers","onChange","clearMoveEnd","un","Vector","_default","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import { Vector } from 'ol/layer';\nimport { Feature, Overlay } from 'ol';\nimport { Vector as VectorSource } from 'ol/source';\nimport renderer from '../renderer';\nimport { Fill, Style, Text, Stroke, Circle } from 'ol/style';\nimport isFunction from '../_util/isFunction';\nimport { getDataByHttpByParams, createGeoJson } from './createFeatureCollection';\nimport isObject from '../_util/isObject';\nimport encryptParams from '../_util/encryptParams';\nimport stringToFun from '../_util/stringToFun';\nimport convertCamelToCSS from '../convertCamelToCSS';\nimport Cluster from './MyCluster';\nimport { getImgUrl } from '../marker/Marker';\n\nconst addOverlay = (feature, map, alarmBg) => {\n if (alarmBg) {\n let itemVal = alarmBg.find(v => v.filter(feature.values_));\n if (itemVal) {\n let { image, style } = itemVal;\n let dom;\n if (image) {\n dom = document.createElement('img');\n dom.src = image;\n } else {\n dom = document.createElement('div');\n dom.className = `ol-map-icon-alarm`;\n }\n\n if (style) {\n dom.style.cssText = style;\n }\n\n const overlay = new Overlay({\n element: dom,\n positioning: 'bottom-center',\n stopEvent: true,\n className: 'ol-overlay_container-stop_event',\n });\n\n map.addOverlay(overlay);\n\n overlay.setPosition(feature.getGeometry().getCoordinates());\n\n return overlay;\n }\n }\n};\n\nclass FeatureLayer extends Vector {\n constructor(options) {\n const {\n url,\n params,\n data,\n dataField,\n features,\n sourceOptions,\n key,\n name,\n label,\n labelField,\n point,\n cluster,\n template,\n autoRefresh,\n method,\n layerControl,\n show,\n style,\n group,\n iconOptions,\n afterGetData,\n legend,\n viewOnly,\n encrypt,\n valueField,\n map,\n tipTemplate,\n alarmBg,\n cancelPopup,\n ...other\n } = options;\n\n const props = {\n ...other,\n };\n props.source =\n props.source ||\n new VectorSource({\n features,\n ...sourceOptions,\n });\n\n let defaultShow = show;\n if (group?.length) {\n defaultShow = false;\n\n if (show) {\n group.map(f => {\n if (f.show) {\n defaultShow = true;\n }\n\n // 将字符函数转化为可执行的函数\n f.filter = stringToFun(f.filter);\n });\n }\n }\n\n super(props);\n super.show = show;\n // 参数\n this._options = options;\n\n // 地图\n this.map = map;\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.label = label;\n\n // 标签字段\n this.labelField = labelField;\n\n // 聚合\n this.cluster = cluster;\n\n // 聚合距离\n this.distance = cluster?.distance || 80;\n\n // 海量点\n this.point = point;\n\n // 自动刷新标识\n this.autoRefresh = autoRefresh;\n\n // 模版内容\n this.template = template;\n\n // 图层控制\n this.layerControl = layerControl;\n\n // 过滤\n this.group = group;\n\n // 处理获取的数据\n this.afterGetData = afterGetData;\n\n // 数据查询字段\n this.valueField = valueField;\n\n // 图例\n this.legend = legend;\n\n // 样式\n this.style = style;\n\n // 数据\n this.data = data;\n\n // 数据取值字段\n this.dataField = dataField || 'geometryInfo';\n\n // 仅展示\n this.viewOnly = viewOnly;\n\n // 是否初始化\n this.inited = false;\n\n // 加密\n this.encrypt = encrypt;\n\n // 气泡模板\n this.tipTemplate = tipTemplate;\n\n // 取消气泡\n this.cancelPopup = cancelPopup;\n\n // 报警背景\n if (alarmBg) {\n this.alarmBg = (Array.isArray(alarmBg) ? alarmBg : [alarmBg]).map(item => {\n let { filter, style } = item;\n filter = stringToFun(filter);\n if (style) {\n style = item.style && typeof item.style === 'object' ? style : { color: style };\n style = convertCamelToCSS(style);\n }\n return {\n ...item,\n filter,\n style,\n };\n });\n }\n\n // 临时数据\n this._features = [];\n\n // 默认是否展示\n if (defaultShow) {\n this.init();\n }\n }\n\n // 初始化数据\n init() {\n // 是否存在地址\n if (this.url) {\n // 执行\n this.loadUrlData(this.url, this.params, this.method);\n }\n\n // 直接加载数据\n if (this.data) {\n // 执行\n this.loadData(this.data);\n }\n\n this.inited = true;\n }\n\n // 重写父类的属性访问器\n get show() {\n return super.show;\n }\n\n set show(value) {\n this.setVisible(value);\n }\n\n set label(val) {\n this._options.label = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set point(val) {\n this._options.point = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set cluster(val) {\n this.setClusterMode(val);\n }\n\n setShow(value) {\n this.show = value;\n this.setVisible(value);\n }\n\n setClusterMode(val) {\n const { show } = isObject(val) ? val : { show: val };\n this.setClusterSource(val);\n this.setStyle(this.getStyleByMode());\n\n if (this.map && show) {\n const map = this.map;\n this.destroy();\n\n // 监听地图缩放大于阈值时取消聚合\n let oldZoom = map.getView().getZoom();\n this.moveEnd = map.on('moveend', () => {\n const zoom = map.getView().getZoom(); //获取当前地图的缩放级别\n if (oldZoom !== zoom) {\n oldZoom = zoom;\n if (zoom >= (this._options.cluster?.zoomThreshold || 14)) {\n this.setClusterSource();\n } else {\n this.setClusterSource(val);\n }\n }\n });\n }\n }\n\n getClusterTextStyle = (size, options) => {\n const { color, background, backgroundStroke, backgroundStrokeWidth, ...otherVal } =\n options && typeof options === 'object' ? options : {};\n const style = {\n text: String(size),\n font: '18px Calibri,sans-serif',\n fill: new Fill({\n color: color || '#fff',\n }),\n padding: [0, 0, 0, 0],\n justify: 'center',\n textAlign: 'center',\n textBaseline: 'middle',\n offsetY: -22,\n offsetX: 16,\n ...otherVal,\n };\n\n if (background) {\n style.backgroundFill = new Fill({\n color: background,\n });\n }\n\n if (backgroundStroke) {\n style.backgroundStroke = new Stroke({\n color: '#FFFFFF',\n width: backgroundStrokeWidth || 2,\n });\n }\n return new Text(style);\n };\n\n getLabelStyle = (feature, color) => {\n let { labelField } = this._options;\n\n // 判断是否是聚合点位\n if (feature.isCluster) {\n const size = feature.get('features')?.length || 0;\n if (size !== 1) {\n return;\n }\n }\n if (labelField) {\n return new Text({\n text: feature.values_[labelField] || '-',\n font: '12px Calibri,sans-serif',\n fill: new Fill({\n color,\n }),\n backgroundFill: new Fill({\n color: '#fff',\n }),\n backgroundStroke: new Stroke({\n color,\n width: 1,\n }),\n padding: [4, 2, 2, 4],\n justify: 'center',\n textBaseline: 'middle',\n offsetY: 12,\n });\n }\n };\n\n getCustomClusterStyle(feature, clusterStyle) {\n const { type, iconSrc, color, scale = 1, numberStyle, numberScale, ...iconOptions } = clusterStyle;\n const size = feature.get('features')?.length || 0;\n\n return [\n new renderer.Marker({\n image: getImgUrl(type || 'CommonIcon', {\n color: color || '#2491fc',\n hideFooter: true,\n info: { text: size, fontSize: 18 },\n }),\n // text: this.getClusterTextStyle(size, numberStyle),\n scale: numberScale || 1,\n }),\n new renderer.Marker({\n image: iconSrc,\n scale: scale || 1,\n anchor: [1.1, 1.25],\n ...iconOptions,\n }),\n ];\n }\n\n getStyleByMode() {\n return (feature, resolution) => {\n const size = feature.get('features')?.length || 0;\n let { style, cluster, otherStyle } = this._options;\n let show = true;\n\n this.group?.map(v => {\n if (v?.filter?.(feature.values_)) {\n style = v.style || style;\n if (v.hasOwnProperty('show') && !v.show) {\n show = false;\n }\n }\n });\n feature.show = show;\n\n if (!show) {\n return null;\n }\n\n const styles = [];\n\n if (otherStyle) {\n if (isFunction(otherStyle)) {\n const _styles = otherStyle(feature, resolution);\n if (_styles) {\n if (Array.isArray(styles)) {\n styles.push(..._styles);\n } else {\n styles.push(_styles);\n }\n }\n }\n }\n\n if (size > 1 && cluster?.style?.iconSrc) {\n return this.getCustomClusterStyle(feature, cluster.style);\n }\n if (style) {\n if (typeof style === 'string' || (isFunction(style) && cluster)) {\n styles.push(new renderer.Marker({ ...this.getMarkerOptions(feature, style) }));\n return styles;\n } else if (style instanceof Style) {\n // 判断是否为 ol Style\n styles.push(style);\n return styles;\n } else if (isFunction(style)) {\n // 判断是否为自定义函数渲染\n\n let _style = style(feature);\n if (_style?.type && _style?.style) {\n const options = this.getSimpleStyle(feature, _style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n styles.push(_style);\n return styles;\n } else if (isObject(style)) {\n let { mode } = style;\n if (mode) {\n if (mode === 'Simple') {\n const options = this.getSimpleStyle(feature, style.render);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n if (mode === 'UniqueValue') {\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.UniqueValue(feature, options));\n return styles;\n }\n\n if (mode === 'ClassBreaks') {\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.ClassBreaks(feature, options));\n return styles;\n }\n } else if (style.style) {\n const options = this.getSimpleStyle(feature, style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n }\n }\n styles.push(\n new Style({\n image: new Circle({\n radius: 4,\n fill: new Fill({\n color: 'rgba(0,155,255, 0.8)',\n }),\n }),\n fill: new Fill({\n color: 'rgba(255, 255, 255, 0.6)',\n }),\n stroke: new Stroke({\n color: '#009BFF',\n width: 2,\n }),\n }),\n );\n return styles;\n };\n }\n\n getSimpleStyle(feature, _render) {\n let { cluster } = this._options;\n const render = { ..._render };\n if (\n render.type === 'Marker' &&\n (render?.style?.icon || (cluster && render?.style?.image))\n ) {\n render.style = {\n ...render.style,\n ...this.getMarkerOptions(feature, render.style),\n };\n }\n\n return render;\n }\n\n getMultipleStyle(feature, _render) {\n const render = { ..._render };\n\n if (render?.render?.length) {\n render.render = render.render.map(v => this.getSimpleStyle(feature, v));\n }\n\n return render;\n }\n\n getMarkerOptions(feature, style) {\n let icon = style?.icon || style;\n let image = style?.image;\n let scale = style?.scale;\n let color = style?.color || '#2491fc';\n let iconSize = style?.size || null;\n let hideFooter = style?.hideFooter || null;\n let { cluster, point, label } = this._options;\n // 判断是否为自定义函数渲染\n let isFun = isFunction(style);\n let data = {};\n if (isFun) {\n data = style(feature) || {};\n icon = data?.style?.icon || data?.icon || icon;\n color = data?.style?.color || data?.color || color;\n image = data?.style?.image || data?.image || image;\n scale = data?.style?.scale || data?.scale || scale;\n iconSize = data?.style?.size || data?.size || iconSize;\n hideFooter = data?.style?.hideFooter || data?.hideFooter || hideFooter;\n }\n\n const size = feature.get('features')?.length || 0;\n const iconOptions = {\n size: iconSize,\n hideFooter,\n };\n let P = {\n marker: {\n // 图标\n icon,\n image,\n iconOptions,\n scale,\n },\n point: {\n // 点位\n icon,\n type: 'PointIcon',\n iconOptions,\n },\n marker_cluster: {\n // 聚合图标\n icon,\n image,\n scale,\n color: size > 1 ? '' : color,\n iconOptions:\n size > 1\n ? {\n hideFooter: true,\n info: { text: '', fontSize: 18 },\n ...(cluster?.iconOptions || {}),\n }\n : {},\n ...(size > 1 ? cluster?.style : cluster?.commonStyle),\n },\n point_cluster: {\n // 聚合点位\n icon,\n type: 'PointIcon',\n iconOptions:\n size > 1\n ? {\n text: size,\n }\n : {},\n ...(size > 1 && cluster?.style),\n },\n };\n\n let type = point ? 'point' : 'marker';\n\n if (cluster) {\n if (isObject(cluster)) {\n if (cluster.show) {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n } else {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n }\n\n let _style = P[type];\n if (label) {\n if (Object.keys(data)?.includes('customText')) {\n _style.text = data?.customText;\n } else {\n _style.text = this.getLabelStyle(feature, color);\n }\n }\n\n if (feature.isCluster && size > 1 && type === 'marker_cluster') {\n _style.text = this.getClusterTextStyle(size, cluster?.style?.numberStyle);\n }\n\n return _style;\n }\n\n setClusterSource(cluster) {\n let _this = this;\n cluster = isObject(cluster) ? cluster : { show: cluster };\n let { show, minDistance, distance, group } = cluster;\n let source = new VectorSource({\n features: this._features?.filter(v => !v.hasOwnProperty('show') || v.show),\n });\n if (show) {\n group = group || this.group;\n let clusterSource = new Cluster({\n distance: distance || 100,\n minDistance: minDistance || 50,\n source,\n group,\n clusterChange: features => {\n this.setAlarmBgByFeatures(features);\n },\n createCluster: (point, features) => {\n let feature = new Feature({\n geometry: point,\n features: features.map(v => {\n v.layerKey = _this.key;\n return v;\n }),\n });\n\n if (group?.length) {\n let style, groupItem;\n const f = features[0];\n const size = features.length;\n group?.map(v => {\n if (v?.filter?.(f.values_)) {\n style = v.style || style;\n groupItem = v;\n }\n });\n\n // 当点位单独展示时,并且style为自定义函数\n if (size === 1 && isFunction(style)) {\n style = style(f);\n }\n\n let markerStyle = { ...style.style };\n\n if (size > 1 && groupItem?.clusterStyle?.iconSrc) {\n let _style = this.getCustomClusterStyle(\n feature,\n groupItem.clusterStyle,\n );\n feature.setStyle(_style);\n } else {\n if (size > 1) {\n if (style?.clusterStyle) {\n markerStyle = { ...style.clusterStyle };\n }\n\n const { numberStyle, iconOptions, ...otherStyle } = markerStyle;\n markerStyle = {\n ...otherStyle,\n text: this.getClusterTextStyle(\n markerStyle?.image ? size : ' ',\n numberStyle,\n ),\n iconOptions: {\n hideFooter: true,\n info: { text: size, fontSize: 18 },\n ...(iconOptions || cluster?.iconOptions || {}),\n },\n };\n }\n const otherStyle = groupItem.otherStyle || this._options?.otherStyle;\n\n feature.setStyle((feature, resolution) => {\n const styles = [\n new renderer.Marker(markerStyle)\n ];\n\n if (otherStyle) {\n if (isFunction(otherStyle)) {\n const _styles = otherStyle(feature, resolution);\n if (_styles) {\n if (Array.isArray(styles)) {\n styles.push(..._styles);\n } else {\n styles.push(_styles);\n }\n }\n }\n }\n\n return styles\n });\n }\n }\n\n // 增加聚合点位标识\n feature.isCluster = true;\n\n if (features.length === 1) {\n feature.setProperties(features[0].values_);\n }\n\n return feature;\n },\n ...cluster,\n });\n\n this.setSource(clusterSource);\n } else {\n this.setSource(source);\n }\n }\n\n // 清除报警背景\n clearAlarmBg() {\n if (this.map && this.overlays?.length) {\n this.overlays.map(overlay => this.map.removeOverlay(overlay));\n this.overlays = null;\n }\n }\n\n // 设置报警背景\n setAlarmBgByFeatures(features) {\n this.clearAlarmBg();\n this.overlays = [];\n\n if (this.map && this.alarmBg && features?.length) {\n features.map(feature => {\n let _feature = feature;\n\n const cluster = feature.get('features');\n if (cluster) {\n _feature = cluster.length < 2 ? cluster[0] : null;\n }\n\n if (_feature && (_feature.hasOwnProperty('show') ? _feature.show : true)) {\n let overlay = addOverlay(_feature, this.map, this.alarmBg);\n if (overlay) {\n this.overlays.push(overlay);\n }\n }\n });\n }\n }\n\n refresh() {\n getDataByHttpByParams({\n url: this.url,\n params: this.params,\n method: this.method,\n afterGetData: this.afterGetData,\n field: this.dataField,\n }).then(features => {\n if (features) {\n let new_features = features;\n this._features = new_features;\n\n let newFeatures = [];\n new_features.map(v => {\n let f = this.getFeatureByFieldValue('id', v.values_.id);\n if (f) {\n f.values_ = v.values_;\n } else {\n newFeatures.push(v);\n }\n });\n\n if (newFeatures.length) {\n this.getSource().addFeatures(newFeatures);\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n\n this.getSource().changed();\n }\n });\n }\n\n loadData(data) {\n this.getSource().clear();\n let features = createGeoJson(data, this.dataField);\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n loadUrlData(url, params, method, afterGetData = this.afterGetData) {\n this.getSource().clear();\n this._features = [];\n\n if (this.encrypt) {\n params = encryptParams(params, this.encrypt);\n }\n\n getDataByHttpByParams({\n url,\n params,\n method,\n afterGetData,\n field: this.dataField,\n }).then(features => {\n this.getSource().clear();\n this._features = [];\n\n if (features?.length) {\n this._features = features;\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n });\n }\n\n loadFeatures(features) {\n this.getSource().clear();\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n getFeatures() {\n const source = this.getSource().source || this.getSource();\n return source.getFeatures();\n }\n\n getFeatureByFieldValue(field, value) {\n return this.getFeatures().find(v => v.values_[field] === value);\n }\n\n getFeaturesByFieldValueOpera({ field, value, operation = '===', features, filter }) {\n return new Promise((resolve, reject) => {\n let _features = features || this.getFeatures();\n if (filter) {\n _features = _features.filter(feature => filter(feature.values_));\n }\n\n let result = _features;\n\n if (operation && value !== undefined) {\n if (['>', '>=', '<', '<=', '===', '!=='].includes(operation)) {\n try {\n // 通过动态创建方法自动传入操作符\n const fun = new Function(\n 'features',\n 'field',\n 'value',\n `return features.filter(v => v.values_[field] ${operation} value)`,\n );\n result = fun(_features, field, value);\n } catch (err) {\n reject(err);\n }\n } else if (operation === 'like') {\n // 包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n } else if (operation === 'notLike') {\n // 不包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) === -1);\n } else {\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n }\n }\n\n resolve(result);\n });\n }\n\n // 获取地图\n getMap() {\n return this.map;\n }\n\n // 设置过滤条件\n setGroup(group) {\n if (group?.length) {\n if (this._features?.length) {\n this._features.map(feature => {\n let show = true;\n group.map(v => {\n v.filter = stringToFun(v.filter);\n if (v?.filter?.(feature.values_)) {\n if (v.hasOwnProperty('show') && !v.show) {\n show = false;\n }\n }\n });\n feature.show = show;\n });\n }\n this.group = group;\n this.setVisibleByGroup();\n\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n } else {\n this.setStyle(this.getStyleByMode());\n }\n\n this.setAlarmBgByFeatures(this._features);\n }\n }\n\n // 根据过滤条件组显示图层\n setVisibleByGroup() {\n const group = this.group;\n if (group?.length) {\n let visible = false;\n\n group.map(v => {\n if (!v.hasOwnProperty('show') || v.show) {\n visible = true;\n }\n });\n\n this.setVisible(visible);\n }\n }\n\n // 设置图层显示隐藏\n setVisible(visible) {\n super.setVisible(visible); // 将属性传递给父类\n\n const map = this.getMap && this.getMap();\n if (map) {\n map.layers.onChange();\n }\n\n // 判断是否完成过初始化,没有的话就加载一波数据\n if (!this.inited) {\n this.init();\n }\n\n if (!visible) {\n this.clearAlarmBg();\n } else {\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n }\n\n clearMoveEnd() {\n const map = this.map;\n if (map && this.moveEnd) {\n map.un('moveend', this.moveEnd);\n this.moveEnd = null;\n }\n }\n\n destroy() {\n this.clearMoveEnd();\n this.clearAlarmBg();\n }\n}\n\nexport default FeatureLayer;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FeatureLayer.js","names":["_layer","require","_ol","_source","_renderer","_interopRequireDefault","_style5","_isFunction","_createFeatureCollection","_isObject","_encryptParams","_stringToFun","_convertCamelToCSS","_MyCluster","_Marker","_excluded","_excluded2","_excluded3","_excluded4","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","Symbol","iterator","isArray","length","n","_typeof","o","prototype","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","i","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","hasOwnProperty","_classCallCheck","_defineProperties","configurable","writable","_toPropertyKey","key","_createClass","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","_superPropGet","p","_get","get","bind","_superPropBase","value","_inherits","create","_setPrototypeOf","setPrototypeOf","__proto__","_superPropSet","f","_set","set","getPrototypeOf","_toPrimitive","toPrimitive","String","Number","addOverlay","feature","map","alarmBg","itemVal","find","v","values_","image","style","dom","document","createElement","src","className","cssText","overlay","Overlay","element","positioning","stopEvent","setPosition","getGeometry","getCoordinates","FeatureLayer","_Vector","options","_this2","url","params","data","dataField","features","sourceOptions","label","labelField","point","cluster","template","autoRefresh","method","layerControl","show","group","iconOptions","afterGetData","legend","viewOnly","encrypt","valueField","tipTemplate","cancelPopup","other","props","source","VectorSource","defaultShow","stringToFun","size","_ref","color","background","backgroundStroke","backgroundStrokeWidth","otherVal","text","font","fill","Fill","padding","justify","textAlign","textBaseline","offsetY","offsetX","backgroundFill","Stroke","width","Text","_options","isCluster","_feature$get","distance","inited","item","convertCamelToCSS","_features","init","loadUrlData","loadData","applyGroupVisibilityToFeatures","undefined","enabledGroups","hasEnabled","_v$filter","setVisible","val","setStyle","getStyleByMode","setClusterMode","setShow","_this3","_ref2","isObject","setClusterSource","destroy","oldZoom","getView","getZoom","moveEnd","on","zoom","_this3$_options$clust","zoomThreshold","getCustomClusterStyle","clusterStyle","_feature$get2","type","iconSrc","_clusterStyle$scale","scale","numberStyle","numberScale","renderer","Marker","getImgUrl","hideFooter","info","fontSize","anchor","_this4","resolution","_feature$get3","_this4$group","_cluster$style","_this4$_options","otherStyle","some","_v$filter2","_v$filter3","styles","isFunction","_styles","getMarkerOptions","Style","_style","getSimpleStyle","Simple","_style3","mode","render","getMultipleStyle","UniqueValue","ClassBreaks","Circle","radius","stroke","_render","_render$style","_render$style2","icon","_render$render","_this5","_feature$get4","iconSize","_this$_options","isFun","_data","_data2","_data3","_data4","_data5","_data6","_data7","_data8","_data9","_data0","_data1","_data10","P","marker","marker_cluster","commonStyle","point_cluster","_Object$keys","includes","_data11","customText","getLabelStyle","_cluster$style2","getClusterTextStyle","_this$_features","_this6","_this","_cluster","minDistance","clusterSource","Cluster","clusterChange","setAlarmBgByFeatures","createCluster","_group","Feature","geometry","layerKey","_group2","_groupItem","groupItem","_v$filter4","markerStyle","_this6$_options","_style4","_markerStyle2","_cluster2","_markerStyle","setProperties","setSource","clearAlarmBg","_this$overlays","_this7","overlays","removeOverlay","_this8","_feature","refresh","_this9","getDataByHttpByParams","field","then","new_features","newFeatures","getFeatureByFieldValue","id","getSource","addFeatures","getFeatures","changed","clear","createGeoJson","_this0","encryptParams","loadFeatures","getFeaturesByFieldValueOpera","_ref3","_this1","_ref3$operation","operation","Promise","resolve","reject","result","fun","Function","concat","err","_v$values_$field","_v$values_$field2","_v$values_$field3","getMap","setGroup","setVisibleByGroup","visible","layers","onChange","clearMoveEnd","un","Vector","_default","exports"],"sources":["feature-layer/FeatureLayer.js"],"sourcesContent":["import { Vector } from 'ol/layer';\nimport { Feature, Overlay } from 'ol';\nimport { Vector as VectorSource } from 'ol/source';\nimport renderer from '../renderer';\nimport { Fill, Style, Text, Stroke, Circle } from 'ol/style';\nimport isFunction from '../_util/isFunction';\nimport { getDataByHttpByParams, createGeoJson } from './createFeatureCollection';\nimport isObject from '../_util/isObject';\nimport encryptParams from '../_util/encryptParams';\nimport stringToFun from '../_util/stringToFun';\nimport convertCamelToCSS from '../convertCamelToCSS';\nimport Cluster from './MyCluster';\nimport { getImgUrl } from '../marker/Marker';\n\nconst addOverlay = (feature, map, alarmBg) => {\n if (alarmBg) {\n let itemVal = alarmBg.find(v => v.filter(feature.values_));\n if (itemVal) {\n let { image, style } = itemVal;\n let dom;\n if (image) {\n dom = document.createElement('img');\n dom.src = image;\n } else {\n dom = document.createElement('div');\n dom.className = `ol-map-icon-alarm`;\n }\n\n if (style) {\n dom.style.cssText = style;\n }\n\n const overlay = new Overlay({\n element: dom,\n positioning: 'bottom-center',\n stopEvent: true,\n className: 'ol-overlay_container-stop_event',\n });\n\n map.addOverlay(overlay);\n\n overlay.setPosition(feature.getGeometry().getCoordinates());\n\n return overlay;\n }\n }\n};\n\nclass FeatureLayer extends Vector {\n constructor(options) {\n const {\n url,\n params,\n data,\n dataField,\n features,\n sourceOptions,\n key,\n name,\n label,\n labelField,\n point,\n cluster,\n template,\n autoRefresh,\n method,\n layerControl,\n show,\n style,\n group,\n iconOptions,\n afterGetData,\n legend,\n viewOnly,\n encrypt,\n valueField,\n map,\n tipTemplate,\n alarmBg,\n cancelPopup,\n ...other\n } = options;\n\n const props = {\n ...other,\n };\n props.source =\n props.source ||\n new VectorSource({\n features,\n ...sourceOptions,\n });\n\n let defaultShow = show;\n if (group?.length) {\n defaultShow = false;\n\n if (show) {\n group.map(f => {\n if (f.show) {\n defaultShow = true;\n }\n\n // 将字符函数转化为可执行的函数\n f.filter = stringToFun(f.filter);\n });\n }\n }\n\n super(props);\n super.show = show;\n // 参数\n this._options = options;\n\n // 地图\n this.map = map;\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.label = label;\n\n // 标签字段\n this.labelField = labelField;\n\n // 聚合\n this.cluster = cluster;\n\n // 聚合距离\n this.distance = cluster?.distance || 80;\n\n // 海量点\n this.point = point;\n\n // 自动刷新标识\n this.autoRefresh = autoRefresh;\n\n // 模版内容\n this.template = template;\n\n // 图层控制\n this.layerControl = layerControl;\n\n // 过滤\n this.group = group;\n\n // 处理获取的数据\n this.afterGetData = afterGetData;\n\n // 数据查询字段\n this.valueField = valueField;\n\n // 图例\n this.legend = legend;\n\n // 样式\n this.style = style;\n\n // 数据\n this.data = data;\n\n // 数据取值字段\n this.dataField = dataField || 'geometryInfo';\n\n // 仅展示\n this.viewOnly = viewOnly;\n\n // 是否初始化\n this.inited = false;\n\n // 加密\n this.encrypt = encrypt;\n\n // 气泡模板\n this.tipTemplate = tipTemplate;\n\n // 取消气泡\n this.cancelPopup = cancelPopup;\n\n // 报警背景\n if (alarmBg) {\n this.alarmBg = (Array.isArray(alarmBg) ? alarmBg : [alarmBg]).map(item => {\n let { filter, style } = item;\n filter = stringToFun(filter);\n if (style) {\n style = item.style && typeof item.style === 'object' ? style : { color: style };\n style = convertCamelToCSS(style);\n }\n return {\n ...item,\n filter,\n style,\n };\n });\n }\n\n // 临时数据\n this._features = [];\n\n // 默认是否展示\n if (defaultShow) {\n this.init();\n }\n }\n\n // 初始化数据\n init() {\n // 是否存在地址\n if (this.url) {\n // 执行\n this.loadUrlData(this.url, this.params, this.method);\n }\n\n // 直接加载数据\n if (this.data) {\n // 执行\n this.loadData(this.data);\n }\n\n this.inited = true;\n }\n\n // 根据当前 group 计算每个 feature 的 show(仅影响 this._features 这批原始要素)\n applyGroupVisibilityToFeatures(features = this._features, group = this.group) {\n if (!group?.length || !features?.length) {\n return;\n }\n\n // 只要存在“启用的分组”,则仅显示命中启用分组的要素;否则隐藏全部\n const enabledGroups = group.filter(v => !v.hasOwnProperty('show') || v.show);\n const hasEnabled = enabledGroups.length > 0;\n\n features.forEach(feature => {\n let show = false;\n\n group.forEach(v => {\n v.filter = stringToFun(v.filter);\n if (\n hasEnabled &&\n (!v.hasOwnProperty('show') || v.show) &&\n v?.filter?.(feature.values_)\n ) {\n show = true;\n }\n });\n\n feature.show = show;\n });\n }\n\n // 重写父类的属性访问器\n get show() {\n return super.show;\n }\n\n set show(value) {\n this.setVisible(value);\n }\n\n set label(val) {\n this._options.label = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set point(val) {\n this._options.point = val;\n this.setStyle(this.getStyleByMode());\n }\n\n set cluster(val) {\n this.setClusterMode(val);\n }\n\n setShow(value) {\n this.show = value;\n this.setVisible(value);\n }\n\n setClusterMode(val) {\n const { show } = isObject(val) ? val : { show: val };\n this.setClusterSource(val);\n this.setStyle(this.getStyleByMode());\n\n if (this.map && show) {\n const map = this.map;\n this.destroy();\n\n // 监听地图缩放大于阈值时取消聚合\n let oldZoom = map.getView().getZoom();\n this.moveEnd = map.on('moveend', () => {\n const zoom = map.getView().getZoom(); //获取当前地图的缩放级别\n if (oldZoom !== zoom) {\n oldZoom = zoom;\n if (zoom >= (this._options.cluster?.zoomThreshold || 14)) {\n this.setClusterSource();\n } else {\n this.setClusterSource(val);\n }\n }\n });\n }\n }\n\n getClusterTextStyle = (size, options) => {\n const { color, background, backgroundStroke, backgroundStrokeWidth, ...otherVal } =\n options && typeof options === 'object' ? options : {};\n const style = {\n text: String(size),\n font: '18px Calibri,sans-serif',\n fill: new Fill({\n color: color || '#fff',\n }),\n padding: [0, 0, 0, 0],\n justify: 'center',\n textAlign: 'center',\n textBaseline: 'middle',\n offsetY: -22,\n offsetX: 16,\n ...otherVal,\n };\n\n if (background) {\n style.backgroundFill = new Fill({\n color: background,\n });\n }\n\n if (backgroundStroke) {\n style.backgroundStroke = new Stroke({\n color: '#FFFFFF',\n width: backgroundStrokeWidth || 2,\n });\n }\n return new Text(style);\n };\n\n getLabelStyle = (feature, color) => {\n let { labelField } = this._options;\n\n // 判断是否是聚合点位\n if (feature.isCluster) {\n const size = feature.get('features')?.length || 0;\n if (size !== 1) {\n return;\n }\n }\n if (labelField) {\n return new Text({\n text: feature.values_[labelField] || '-',\n font: '12px Calibri,sans-serif',\n fill: new Fill({\n color,\n }),\n backgroundFill: new Fill({\n color: '#fff',\n }),\n backgroundStroke: new Stroke({\n color,\n width: 1,\n }),\n padding: [4, 2, 2, 4],\n justify: 'center',\n textBaseline: 'middle',\n offsetY: 12,\n });\n }\n };\n\n getCustomClusterStyle(feature, clusterStyle) {\n const { type, iconSrc, color, scale = 1, numberStyle, numberScale, ...iconOptions } = clusterStyle;\n const size = feature.get('features')?.length || 0;\n\n return [\n new renderer.Marker({\n image: getImgUrl(type || 'CommonIcon', {\n color: color || '#2491fc',\n hideFooter: true,\n info: { text: size, fontSize: 18 },\n }),\n // text: this.getClusterTextStyle(size, numberStyle),\n scale: numberScale || 1,\n }),\n new renderer.Marker({\n image: iconSrc,\n scale: scale || 1,\n anchor: [1.1, 1.25],\n ...iconOptions,\n }),\n ];\n }\n\n getStyleByMode() {\n return (feature, resolution) => {\n const size = feature.get('features')?.length || 0;\n let { style, cluster, otherStyle } = this._options;\n let show = true;\n\n // 如果外部已经通过 group 计算过显隐(setGroup/cluster source 过滤),这里优先尊重结果\n if (feature && feature.hasOwnProperty('show') && !feature.show) {\n return null;\n }\n\n if (this.group?.length) {\n const enabledGroups = this.group.filter(v => !v.hasOwnProperty('show') || v.show);\n // 若存在启用的分组,则只显示命中启用分组的数据;否则隐藏全部\n if (enabledGroups.length) {\n show = enabledGroups.some(v => v?.filter?.(feature.values_));\n } else {\n show = false;\n }\n\n // 仍然沿用“命中分组则覆盖样式”的逻辑(与 show 计算解耦)\n this.group.map(v => {\n if (v?.filter?.(feature.values_)) {\n style = v.style || style;\n }\n });\n }\n feature.show = show;\n\n if (!show) {\n return null;\n }\n\n const styles = [];\n\n if (otherStyle) {\n if (isFunction(otherStyle)) {\n const _styles = otherStyle(feature, resolution);\n if (_styles) {\n if (Array.isArray(styles)) {\n styles.push(..._styles);\n } else {\n styles.push(_styles);\n }\n }\n }\n }\n\n if (size > 1 && cluster?.style?.iconSrc) {\n return this.getCustomClusterStyle(feature, cluster.style);\n }\n if (style) {\n if (typeof style === 'string' || (isFunction(style) && cluster)) {\n styles.push(new renderer.Marker({ ...this.getMarkerOptions(feature, style) }));\n return styles;\n } else if (style instanceof Style) {\n // 判断是否为 ol Style\n styles.push(style);\n return styles;\n } else if (isFunction(style)) {\n // 判断是否为自定义函数渲染\n\n let _style = style(feature);\n if (_style?.type && _style?.style) {\n const options = this.getSimpleStyle(feature, _style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n styles.push(_style);\n return styles;\n } else if (isObject(style)) {\n let { mode } = style;\n if (mode) {\n if (mode === 'Simple') {\n const options = this.getSimpleStyle(feature, style.render);\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n if (mode === 'UniqueValue') {\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.UniqueValue(feature, options));\n return styles;\n }\n\n if (mode === 'ClassBreaks') {\n if (size > 1) {\n const options = this.getSimpleStyle(\n feature,\n style.render.render[0],\n );\n styles.push(renderer.Simple(options));\n return styles;\n }\n\n const options = this.getMultipleStyle(feature, style.render);\n styles.push(renderer.ClassBreaks(feature, options));\n return styles;\n }\n } else if (style.style) {\n const options = this.getSimpleStyle(feature, style);\n styles.push(renderer.Simple(options));\n return styles;\n }\n }\n }\n styles.push(\n new Style({\n image: new Circle({\n radius: 4,\n fill: new Fill({\n color: 'rgba(0,155,255, 0.8)',\n }),\n }),\n fill: new Fill({\n color: 'rgba(255, 255, 255, 0.6)',\n }),\n stroke: new Stroke({\n color: '#009BFF',\n width: 2,\n }),\n }),\n );\n return styles;\n };\n }\n\n getSimpleStyle(feature, _render) {\n let { cluster } = this._options;\n const render = { ..._render };\n if (\n render.type === 'Marker' &&\n (render?.style?.icon || (cluster && render?.style?.image))\n ) {\n render.style = {\n ...render.style,\n ...this.getMarkerOptions(feature, render.style),\n };\n }\n\n return render;\n }\n\n getMultipleStyle(feature, _render) {\n const render = { ..._render };\n\n if (render?.render?.length) {\n render.render = render.render.map(v => this.getSimpleStyle(feature, v));\n }\n\n return render;\n }\n\n getMarkerOptions(feature, style) {\n let icon = style?.icon || style;\n let image = style?.image;\n let scale = style?.scale;\n let color = style?.color || '#2491fc';\n let iconSize = style?.size || null;\n let hideFooter = style?.hideFooter || null;\n let { cluster, point, label } = this._options;\n // 判断是否为自定义函数渲染\n let isFun = isFunction(style);\n let data = {};\n if (isFun) {\n data = style(feature) || {};\n icon = data?.style?.icon || data?.icon || icon;\n color = data?.style?.color || data?.color || color;\n image = data?.style?.image || data?.image || image;\n scale = data?.style?.scale || data?.scale || scale;\n iconSize = data?.style?.size || data?.size || iconSize;\n hideFooter = data?.style?.hideFooter || data?.hideFooter || hideFooter;\n }\n\n const size = feature.get('features')?.length || 0;\n const iconOptions = {\n size: iconSize,\n hideFooter,\n };\n let P = {\n marker: {\n // 图标\n icon,\n image,\n iconOptions,\n scale,\n },\n point: {\n // 点位\n icon,\n type: 'PointIcon',\n iconOptions,\n },\n marker_cluster: {\n // 聚合图标\n icon,\n image,\n scale,\n color: size > 1 ? '' : color,\n iconOptions:\n size > 1\n ? {\n hideFooter: true,\n info: { text: '', fontSize: 18 },\n ...(cluster?.iconOptions || {}),\n }\n : {},\n ...(size > 1 ? cluster?.style : cluster?.commonStyle),\n },\n point_cluster: {\n // 聚合点位\n icon,\n type: 'PointIcon',\n iconOptions:\n size > 1\n ? {\n text: size,\n }\n : {},\n ...(size > 1 && cluster?.style),\n },\n };\n\n let type = point ? 'point' : 'marker';\n\n if (cluster) {\n if (isObject(cluster)) {\n if (cluster.show) {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n } else {\n type = 'marker_cluster';\n if (point) {\n type = 'point_cluster';\n }\n }\n }\n\n let _style = P[type];\n if (label) {\n if (Object.keys(data)?.includes('customText')) {\n _style.text = data?.customText;\n } else {\n _style.text = this.getLabelStyle(feature, color);\n }\n }\n\n if (feature.isCluster && size > 1 && type === 'marker_cluster') {\n _style.text = this.getClusterTextStyle(size, cluster?.style?.numberStyle);\n }\n\n return _style;\n }\n\n setClusterSource(cluster) {\n let _this = this;\n cluster = isObject(cluster) ? cluster : { show: cluster };\n let { show, minDistance, distance, group } = cluster;\n // 重建 source 前,确保原始要素已按当前 group 写入 feature.show\n this.applyGroupVisibilityToFeatures(this._features, group || this.group);\n let source = new VectorSource({\n features: this._features?.filter(v => !v.hasOwnProperty('show') || v.show),\n });\n if (show) {\n group = group || this.group;\n let clusterSource = new Cluster({\n distance: distance || 100,\n minDistance: minDistance || 50,\n source,\n group,\n clusterChange: features => {\n this.setAlarmBgByFeatures(features);\n },\n createCluster: (point, features) => {\n let feature = new Feature({\n geometry: point,\n features: features.map(v => {\n v.layerKey = _this.key;\n return v;\n }),\n });\n\n if (group?.length) {\n let style, groupItem;\n const f = features[0];\n const size = features.length;\n group?.map(v => {\n if (v?.filter?.(f.values_)) {\n style = v.style || style;\n groupItem = v;\n }\n });\n\n // 当点位单独展示时,并且style为自定义函数\n if (size === 1 && isFunction(style)) {\n style = style(f);\n }\n\n let markerStyle = { ...style.style };\n\n if (size > 1 && groupItem?.clusterStyle?.iconSrc) {\n let _style = this.getCustomClusterStyle(\n feature,\n groupItem.clusterStyle,\n );\n feature.setStyle(_style);\n } else {\n if (size > 1) {\n if (style?.clusterStyle) {\n markerStyle = { ...style.clusterStyle };\n }\n\n const { numberStyle, iconOptions, ...otherStyle } = markerStyle;\n markerStyle = {\n ...otherStyle,\n text: this.getClusterTextStyle(\n markerStyle?.image ? size : ' ',\n numberStyle,\n ),\n iconOptions: {\n hideFooter: true,\n info: { text: size, fontSize: 18 },\n ...(iconOptions || cluster?.iconOptions || {}),\n },\n };\n }\n const otherStyle = groupItem.otherStyle || this._options?.otherStyle;\n\n feature.setStyle((feature, resolution) => {\n const styles = [\n new renderer.Marker(markerStyle)\n ];\n\n if (otherStyle) {\n if (isFunction(otherStyle)) {\n const _styles = otherStyle(feature, resolution);\n if (_styles) {\n if (Array.isArray(styles)) {\n styles.push(..._styles);\n } else {\n styles.push(_styles);\n }\n }\n }\n }\n\n return styles\n });\n }\n }\n\n // 增加聚合点位标识\n feature.isCluster = true;\n\n if (features.length === 1) {\n feature.setProperties(features[0].values_);\n }\n\n return feature;\n },\n ...cluster,\n });\n\n this.setSource(clusterSource);\n } else {\n this.setSource(source);\n }\n }\n\n // 清除报警背景\n clearAlarmBg() {\n if (this.map && this.overlays?.length) {\n this.overlays.map(overlay => this.map.removeOverlay(overlay));\n this.overlays = null;\n }\n }\n\n // 设置报警背景\n setAlarmBgByFeatures(features) {\n this.clearAlarmBg();\n this.overlays = [];\n\n if (this.map && this.alarmBg && features?.length) {\n features.map(feature => {\n let _feature = feature;\n\n const cluster = feature.get('features');\n if (cluster) {\n _feature = cluster.length < 2 ? cluster[0] : null;\n }\n\n if (_feature && (_feature.hasOwnProperty('show') ? _feature.show : true)) {\n let overlay = addOverlay(_feature, this.map, this.alarmBg);\n if (overlay) {\n this.overlays.push(overlay);\n }\n }\n });\n }\n }\n\n refresh() {\n getDataByHttpByParams({\n url: this.url,\n params: this.params,\n method: this.method,\n afterGetData: this.afterGetData,\n field: this.dataField,\n }).then(features => {\n if (features) {\n let new_features = features;\n this._features = new_features;\n\n let newFeatures = [];\n new_features.map(v => {\n let f = this.getFeatureByFieldValue('id', v.values_.id);\n if (f) {\n f.values_ = v.values_;\n } else {\n newFeatures.push(v);\n }\n });\n\n if (newFeatures.length) {\n this.getSource().addFeatures(newFeatures);\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n\n this.getSource().changed();\n }\n });\n }\n\n loadData(data) {\n this.getSource().clear();\n let features = createGeoJson(data, this.dataField);\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n this.applyGroupVisibilityToFeatures(this._features, this.group);\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n loadUrlData(url, params, method, afterGetData = this.afterGetData) {\n this.getSource().clear();\n this._features = [];\n\n if (this.encrypt) {\n params = encryptParams(params, this.encrypt);\n }\n\n getDataByHttpByParams({\n url,\n params,\n method,\n afterGetData,\n field: this.dataField,\n }).then(features => {\n this.getSource().clear();\n this._features = [];\n\n if (features?.length) {\n this._features = features;\n this.applyGroupVisibilityToFeatures(this._features, this.group);\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n });\n }\n\n loadFeatures(features) {\n this.getSource().clear();\n this.getSource().addFeatures(features);\n\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n\n this._features = features;\n this.applyGroupVisibilityToFeatures(this._features, this.group);\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n }\n }\n\n getFeatures() {\n const source = this.getSource().source || this.getSource();\n return source.getFeatures();\n }\n\n getFeatureByFieldValue(field, value) {\n return this.getFeatures().find(v => v.values_[field] === value);\n }\n\n getFeaturesByFieldValueOpera({ field, value, operation = '===', features, filter }) {\n return new Promise((resolve, reject) => {\n let _features = features || this.getFeatures();\n if (filter) {\n _features = _features.filter(feature => filter(feature.values_));\n }\n\n let result = _features;\n\n if (operation && value !== undefined) {\n if (['>', '>=', '<', '<=', '===', '!=='].includes(operation)) {\n try {\n // 通过动态创建方法自动传入操作符\n const fun = new Function(\n 'features',\n 'field',\n 'value',\n `return features.filter(v => v.values_[field] ${operation} value)`,\n );\n result = fun(_features, field, value);\n } catch (err) {\n reject(err);\n }\n } else if (operation === 'like') {\n // 包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n } else if (operation === 'notLike') {\n // 不包含\n result = _features.filter(v => v.values_[field]?.indexOf(value) === -1);\n } else {\n result = _features.filter(v => v.values_[field]?.indexOf(value) !== -1);\n }\n }\n\n resolve(result);\n });\n }\n\n // 获取地图\n getMap() {\n return this.map;\n }\n\n // 设置过滤条件\n setGroup(group) {\n if (group?.length) {\n this.applyGroupVisibilityToFeatures(this._features, group);\n this.group = group;\n this.setVisibleByGroup();\n\n if (this._options.cluster) {\n this.setClusterMode(this._options.cluster);\n } else {\n this.setStyle(this.getStyleByMode());\n }\n\n this.setAlarmBgByFeatures(this._features);\n }\n }\n\n // 根据过滤条件组显示图层\n setVisibleByGroup() {\n const group = this.group;\n if (group?.length) {\n let visible = false;\n\n group.map(v => {\n if (!v.hasOwnProperty('show') || v.show) {\n visible = true;\n }\n });\n\n this.setVisible(visible);\n }\n }\n\n // 设置图层显示隐藏\n setVisible(visible) {\n super.setVisible(visible); // 将属性传递给父类\n\n const map = this.getMap && this.getMap();\n if (map) {\n map.layers.onChange();\n }\n\n // 判断是否完成过初始化,没有的话就加载一波数据\n if (!this.inited) {\n this.init();\n }\n\n if (!visible) {\n this.clearAlarmBg();\n } else {\n this.setAlarmBgByFeatures(this.getSource().getFeatures());\n }\n }\n\n clearMoveEnd() {\n const map = this.map;\n if (map && this.moveEnd) {\n map.un('moveend', this.moveEnd);\n this.moveEnd = null;\n }\n }\n\n destroy() {\n this.clearMoveEnd();\n this.clearAlarmBg();\n }\n}\n\nexport default FeatureLayer;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/ol-map",
3
- "version": "1.0.164",
3
+ "version": "1.0.165",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",