@vtx/map 1.1.29 → 1.1.30

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.
@@ -124,7 +124,7 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
124
124
  // geoServer_image
125
125
 
126
126
  case 'geoServer_image':
127
- t.addGeoServerImageLayer(item.coverage);
127
+ t.addGeoServerImageLayer(item);
128
128
 
129
129
  default:
130
130
  break;
@@ -286,6 +286,7 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
286
286
  rectangle: []
287
287
  }
288
288
  };
289
+ _this.frameSelectProps = {};
289
290
 
290
291
  _this.loadMapJs();
291
292
 
@@ -658,7 +659,8 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
658
659
 
659
660
  }, {
660
661
  key: "addGeoServerImageLayer",
661
- value: function addGeoServerImageLayer(url) {
662
+ value: function addGeoServerImageLayer(item) {
663
+ var url = item.coverage;
662
664
  var exist = this.olLayers.find(function (item) {
663
665
  return item.address === url;
664
666
  });
@@ -679,9 +681,9 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
679
681
  serverType: 'geoserver',
680
682
  crossOrigin: '*',
681
683
  ratio: 1,
682
- params: _objectSpread({
684
+ params: _objectSpread(_objectSpread({
683
685
  VERSION: '1.1.0'
684
- }, param)
686
+ }, item.param || {}), param)
685
687
  }); // 矢量图层
686
688
 
687
689
  var layer = new ol.layer.Image({
@@ -722,6 +724,16 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
722
724
  return t.hideInfoWindow();
723
725
  };
724
726
 
727
+ t.state.gis["frameSelect"] = function () {
728
+ var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
729
+ var callback = arguments.length > 1 ? arguments[1] : undefined;
730
+ return t.frameSelect(obj, callback);
731
+ };
732
+
733
+ t.state.gis["clearFrameSelect"] = function () {
734
+ return t.clearFrameSelect();
735
+ };
736
+
725
737
  t.state.gis["refresh"] = function () {
726
738
  t.refresh();
727
739
  };
@@ -1155,6 +1167,8 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
1155
1167
  }
1156
1168
 
1157
1169
  t.drawToolbar.on('drawend', function (e) {
1170
+ var _t$frameSelectProps;
1171
+
1158
1172
  // 关闭绘制事件
1159
1173
  t.drawToolbar.finishDrawing(); // 移除
1160
1174
 
@@ -1397,6 +1411,10 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
1397
1411
  if ('drawEnd' in t.props && typeof t.props.drawEnd == 'function') {
1398
1412
  t.props.drawEnd(param);
1399
1413
  }
1414
+
1415
+ if (((_t$frameSelectProps = t.frameSelectProps) === null || _t$frameSelectProps === void 0 ? void 0 : _t$frameSelectProps.callback) instanceof Function) {
1416
+ t.frameSelectProps.callback(param);
1417
+ }
1400
1418
  }); //保存绘制图元的id便于后期比对
1401
1419
 
1402
1420
  t.state.drawIds[drawParam.geometryType].push(drawParam.data.id);
@@ -1969,6 +1987,51 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
1969
1987
  t.morepoints.map(function (item, index) {
1970
1988
  item.value.clear();
1971
1989
  });
1990
+ } // 框选
1991
+
1992
+ }, {
1993
+ key: "frameSelect",
1994
+ value: function frameSelect(_ref, callback) {
1995
+ var geometryType = _ref.geometryType,
1996
+ _ref$parameter = _ref.parameter,
1997
+ parameter = _ref$parameter === void 0 ? {} : _ref$parameter,
1998
+ _ref$data = _ref.data,
1999
+ data = _ref$data === void 0 ? {} : _ref$data;
2000
+
2001
+ if (!['polygon', 'circle', 'rectangle'].includes(geometryType)) {
2002
+ message.warn("传入的类型不支持框选!");
2003
+ return false;
2004
+ }
2005
+
2006
+ var t = this;
2007
+ var params = {},
2008
+ type = geometryType || 'polygon',
2009
+ id = data.id || 'frameSelectFeature';
2010
+ params.color = parameter.color || '#FF0000';
2011
+ params.lineColor = parameter.lineColor || '#FF0000';
2012
+ params.lineOpacity = parameter.lineOpacity || 1;
2013
+ params.lineWidth = parameter.lineWidth || 2;
2014
+ params.pellucidity = parameter.pellucidity || 0.6;
2015
+ params.lineType = parameter.lineType || 'solid';
2016
+ t.draw({
2017
+ geometryType: type,
2018
+ parameter: _objectSpread(_objectSpread({}, parameter), params),
2019
+ data: {
2020
+ id: id
2021
+ }
2022
+ });
2023
+ t.frameSelectProps = {
2024
+ callback: callback,
2025
+ id: id,
2026
+ type: geometryType
2027
+ };
2028
+ } // 清除框选
2029
+
2030
+ }, {
2031
+ key: "clearFrameSelect",
2032
+ value: function clearFrameSelect() {
2033
+ this.removeGraphic(this.frameSelectProps.id, this.frameSelectProps.type);
2034
+ this.frameSelectProps = {};
1972
2035
  }
1973
2036
  /*
1974
2037
  * 添加信息窗口
@@ -4164,13 +4227,12 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
4164
4227
  }, {
4165
4228
  key: "getFeatureInfo",
4166
4229
  value: function getFeatureInfo(event, view, source) {
4167
- var _source$params_,
4168
- _source$params_2,
4169
- _this8 = this;
4230
+ var _this8 = this;
4170
4231
 
4232
+ var sourceParam = source.getParams();
4171
4233
  var url = source.getFeatureInfoUrl(event.coordinate, view.getResolution(), view.getProjection(), {
4172
- cql_filter: (_source$params_ = source.params_) === null || _source$params_ === void 0 ? void 0 : _source$params_.cql_filter,
4173
- QUERY_LAYERS: (_source$params_2 = source.params_) === null || _source$params_2 === void 0 ? void 0 : _source$params_2.layers,
4234
+ cql_filter: sourceParam === null || sourceParam === void 0 ? void 0 : sourceParam.cql_filter,
4235
+ QUERY_LAYERS: sourceParam === null || sourceParam === void 0 ? void 0 : sourceParam.layers,
4174
4236
  INFO_FORMAT: 'application/json',
4175
4237
  REQUEST: "GetFeatureInfo",
4176
4238
  FEATURE_COUNT: 50