@vtx/map 1.1.23 → 1.1.24

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.
@@ -744,26 +744,39 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
744
744
  source: gp.source
745
745
  });
746
746
  t.state.gis.addInteraction(t.editToolbar);
747
- t.editToolbar.on('modifyend', function (e) {
748
- var feature = gc;
749
- e.features.forEach(function (feature) {
750
- feature = feature;
751
- }); //返回参数
747
+ } else {
748
+ t.state.gis.addInteraction(t.editToolbar);
749
+ }
752
750
 
753
- var param = {
754
- id: id,
755
- e: e
756
- }; // 绘制内部管理的图元
751
+ t.editToolbar.on('modifyend', function (e) {
752
+ var feature = gc;
753
+ e.features.forEach(function (feature) {
754
+ feature = feature;
755
+ }); //返回参数
756
+
757
+ var param = {
758
+ id: id,
759
+ e: e
760
+ }; // 绘制内部管理的图元
757
761
 
758
- if (gp.geometry.type == 'point') {
759
- var cur = feature.getProperties().geometry;
762
+ if (gp.geometry.type == 'point') {
763
+ var cur = feature.getProperties().geometry;
760
764
 
761
- var _cur$flatCoordinates = _slicedToArray(cur.flatCoordinates, 2),
762
- lng = _cur$flatCoordinates[0],
763
- lat = _cur$flatCoordinates[1]; //处理点返回参数
765
+ var _cur$flatCoordinates = _slicedToArray(cur.flatCoordinates, 2),
766
+ lng = _cur$flatCoordinates[0],
767
+ lat = _cur$flatCoordinates[1]; //处理点返回参数
764
768
 
765
769
 
766
- param = _objectSpread(_objectSpread({}, param), {}, {
770
+ param = _objectSpread(_objectSpread({}, param), {}, {
771
+ attributes: _objectSpread(_objectSpread({}, gp.attributes), {}, {
772
+ longitude: lng,
773
+ latitude: lat,
774
+ other: _objectSpread(_objectSpread({}, gp.attributes), {}, {
775
+ longitude: lng,
776
+ latitude: lat
777
+ })
778
+ }),
779
+ param: {
767
780
  attributes: _objectSpread(_objectSpread({}, gp.attributes), {}, {
768
781
  longitude: lng,
769
782
  latitude: lat,
@@ -772,149 +785,151 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
772
785
  latitude: lat
773
786
  })
774
787
  }),
775
- param: {
776
- attributes: _objectSpread(_objectSpread({}, gp.attributes), {}, {
777
- longitude: lng,
778
- latitude: lat,
779
- other: _objectSpread(_objectSpread({}, gp.attributes), {}, {
780
- longitude: lng,
781
- latitude: lat
782
- })
783
- }),
784
- geometryType: gp.geometry.type,
785
- mapLayer: t.GM.getGraphic(id)
786
- },
787
788
  geometryType: gp.geometry.type,
788
- geometry: {
789
- type: 'point',
790
- x: lng,
791
- y: lat
792
- }
793
- });
794
- } //线
789
+ mapLayer: t.GM.getGraphic(id)
790
+ },
791
+ geometryType: gp.geometry.type,
792
+ geometry: {
793
+ type: 'point',
794
+ x: lng,
795
+ y: lat
796
+ }
797
+ });
798
+ } //线
795
799
 
796
800
 
797
- if (gp.geometry.type == 'polyline') {
798
- var _cur = feature.getProperties().geometry;
799
- var oddList = [],
800
- evenList = [];
801
+ if (gp.geometry.type == 'polyline') {
802
+ var _cur = feature.getProperties().geometry;
803
+ var oddList = [],
804
+ evenList = [];
801
805
 
802
- _cur.flatCoordinates.map(function (item, index) {
803
- // 判断下标奇偶数
804
- if (index % 2 === 0) {
805
- evenList.push(item);
806
- } else {
807
- oddList.push(item);
808
- }
809
- });
806
+ _cur.flatCoordinates.map(function (item, index) {
807
+ // 判断下标奇偶数
808
+ if (index % 2 === 0) {
809
+ evenList.push(item);
810
+ } else {
811
+ oddList.push(item);
812
+ }
813
+ });
810
814
 
811
- var path = oddList.map(function (item, index) {
812
- return [evenList[index], oddList[index]];
813
- }); //处理线返回参数
815
+ var path = oddList.map(function (item, index) {
816
+ return [evenList[index], oddList[index]];
817
+ }); //处理线返回参数
814
818
 
815
- var _t$dealData = t.dealData(path),
816
- lnglatAry = _t$dealData.lnglatAry,
817
- _extent = _t$dealData._extent;
819
+ var _t$dealData = t.dealData(path),
820
+ lnglatAry = _t$dealData.lnglatAry,
821
+ _extent = _t$dealData._extent;
818
822
 
819
- param = _objectSpread(_objectSpread({}, param), {}, {
823
+ param = _objectSpread(_objectSpread({}, param), {}, {
824
+ attributes: _objectSpread(_objectSpread({}, gp.attributes), {}, {
825
+ paths: path,
826
+ other: _objectSpread(_objectSpread({}, gp.attributes), {}, {
827
+ paths: path
828
+ })
829
+ }),
830
+ param: {
820
831
  attributes: _objectSpread(_objectSpread({}, gp.attributes), {}, {
821
832
  paths: path,
822
833
  other: _objectSpread(_objectSpread({}, gp.attributes), {}, {
823
834
  paths: path
824
835
  })
825
836
  }),
826
- param: {
827
- attributes: _objectSpread(_objectSpread({}, gp.attributes), {}, {
828
- paths: path,
829
- other: _objectSpread(_objectSpread({}, gp.attributes), {}, {
830
- paths: path
831
- })
832
- }),
833
- geometry: {
834
- paths: path,
835
- _extent: _extent,
836
- type: "polyline"
837
- },
838
- geometryType: 'polyline',
839
- lnglatAry: lnglatAry,
840
- mapLayer: t.GM.getGraphic(id)
841
- },
842
- geometryType: gp.geometry.type,
843
837
  geometry: {
844
838
  paths: path,
845
839
  _extent: _extent,
846
840
  type: "polyline"
847
841
  },
848
- distance: t.calculateDistance(path)
849
- });
850
- } //面
842
+ geometryType: 'polyline',
843
+ lnglatAry: lnglatAry,
844
+ mapLayer: t.GM.getGraphic(id)
845
+ },
846
+ geometryType: gp.geometry.type,
847
+ geometry: {
848
+ paths: path,
849
+ _extent: _extent,
850
+ type: "polyline"
851
+ },
852
+ distance: t.calculateDistance(path)
853
+ });
854
+ } //面
851
855
 
852
856
 
853
- if (gp.geometry.type == 'polygon') {
854
- var _cur2 = feature.getProperties().geometry;
855
- var _oddList = [],
856
- _evenList = [];
857
+ if (gp.geometry.type == 'polygon') {
858
+ var _cur2 = feature.getProperties().geometry;
859
+ var _oddList = [],
860
+ _evenList = [];
857
861
 
858
- _cur2.flatCoordinates.map(function (item, index) {
859
- // 判断下标奇偶数
860
- if (index % 2 === 0) {
861
- _evenList.push(item);
862
- } else {
863
- _oddList.push(item);
864
- }
865
- });
862
+ _cur2.flatCoordinates.map(function (item, index) {
863
+ // 判断下标奇偶数
864
+ if (index % 2 === 0) {
865
+ _evenList.push(item);
866
+ } else {
867
+ _oddList.push(item);
868
+ }
869
+ });
866
870
 
867
- var _path = _oddList.map(function (item, index) {
868
- return [_evenList[index], _oddList[index]];
869
- }); //处理线返回参数
871
+ var _path = _oddList.map(function (item, index) {
872
+ return [_evenList[index], _oddList[index]];
873
+ }); //处理线返回参数
870
874
 
871
875
 
872
- var _t$dealData2 = t.dealData(_path),
873
- _lnglatAry = _t$dealData2.lnglatAry,
874
- _extent2 = _t$dealData2._extent;
876
+ var _t$dealData2 = t.dealData(_path),
877
+ _lnglatAry = _t$dealData2.lnglatAry,
878
+ _extent2 = _t$dealData2._extent;
875
879
 
876
- param = _objectSpread(_objectSpread({}, param), {}, {
880
+ param = _objectSpread(_objectSpread({}, param), {}, {
881
+ attributes: _objectSpread(_objectSpread({}, gp.attributes), {}, {
882
+ rings: _path,
883
+ other: _objectSpread(_objectSpread({}, gp.attributes), {}, {
884
+ paths: _path
885
+ })
886
+ }),
887
+ param: {
877
888
  attributes: _objectSpread(_objectSpread({}, gp.attributes), {}, {
878
889
  rings: _path,
879
890
  other: _objectSpread(_objectSpread({}, gp.attributes), {}, {
880
891
  paths: _path
881
892
  })
882
893
  }),
883
- param: {
884
- attributes: _objectSpread(_objectSpread({}, gp.attributes), {}, {
885
- rings: _path,
886
- other: _objectSpread(_objectSpread({}, gp.attributes), {}, {
887
- paths: _path
888
- })
889
- }),
890
- geometry: {
891
- rings: _path,
892
- type: 'polygon',
893
- _extent: _extent2
894
- },
895
- geometryType: 'polygon',
896
- lnglatAry: _lnglatAry,
897
- mapLayer: t.GM.getGraphic(id)
898
- },
899
- geometryType: gp.geometry.type,
900
894
  geometry: {
901
895
  rings: _path,
902
896
  type: 'polygon',
903
897
  _extent: _extent2
904
898
  },
905
- area: (0, _MapToolFunction.getPolygonArea)(_path)
906
- });
907
- }
899
+ geometryType: 'polygon',
900
+ lnglatAry: _lnglatAry,
901
+ mapLayer: t.GM.getGraphic(id)
902
+ },
903
+ geometryType: gp.geometry.type,
904
+ geometry: {
905
+ rings: _path,
906
+ type: 'polygon',
907
+ _extent: _extent2
908
+ },
909
+ area: (0, _MapToolFunction.getPolygonArea)(_path)
910
+ });
911
+ }
908
912
 
909
- if (gp.geometry.type == 'circle') {
910
- var _cur3 = feature.getProperties().geometry;
913
+ if (gp.geometry.type == 'circle') {
914
+ var _cur3 = feature.getProperties().geometry;
911
915
 
912
- var center = _cur3.getCenter();
916
+ var center = _cur3.getCenter();
913
917
 
914
- var sketchCoords_ = [_cur3.flatCoordinates[0], _cur3.flatCoordinates[1]];
915
- var sketchCoords_2 = [_cur3.flatCoordinates[2], _cur3.flatCoordinates[3]];
916
- var radius = ol.sphere.getDistance(sketchCoords_, sketchCoords_2);
917
- param = _objectSpread(_objectSpread({}, param), {}, {
918
+ var sketchCoords_ = [_cur3.flatCoordinates[0], _cur3.flatCoordinates[1]];
919
+ var sketchCoords_2 = [_cur3.flatCoordinates[2], _cur3.flatCoordinates[3]];
920
+ var radius = ol.sphere.getDistance(sketchCoords_, sketchCoords_2);
921
+ param = _objectSpread(_objectSpread({}, param), {}, {
922
+ attributes: _objectSpread(_objectSpread({}, gp.attributes), {}, {
923
+ longitude: center[0],
924
+ latitude: center[1],
925
+ radius: radius,
926
+ other: _objectSpread(_objectSpread({}, gp.attributes), {}, {
927
+ longitude: center[0],
928
+ latitude: center[1],
929
+ radius: radius
930
+ })
931
+ }),
932
+ param: {
918
933
  attributes: _objectSpread(_objectSpread({}, gp.attributes), {}, {
919
934
  longitude: center[0],
920
935
  latitude: center[1],
@@ -925,47 +940,34 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
925
940
  radius: radius
926
941
  })
927
942
  }),
928
- param: {
929
- attributes: _objectSpread(_objectSpread({}, gp.attributes), {}, {
930
- longitude: center[0],
931
- latitude: center[1],
932
- radius: radius,
933
- other: _objectSpread(_objectSpread({}, gp.attributes), {}, {
934
- longitude: center[0],
935
- latitude: center[1],
936
- radius: radius
937
- })
938
- }),
939
- geometry: {
940
- x: center[0],
941
- y: center[1],
942
- radius: radius,
943
- type: 'circle'
944
- },
945
- geometryType: 'circle',
946
- mapLayer: t.GM.getGraphic(id)
947
- },
948
- geometryType: gp.geometry.type,
949
- area: Math.PI * Math.pow(radius, 2),
950
943
  geometry: {
951
- type: 'circle',
952
944
  x: center[0],
953
945
  y: center[1],
954
- radius: radius
955
- }
956
- });
957
- }
958
-
959
- if ('editGraphicChange' in t.props && typeof t.props.editGraphicChange == 'function') {
960
- t.props.editGraphicChange(param);
961
- }
946
+ radius: radius,
947
+ type: 'circle'
948
+ },
949
+ geometryType: 'circle',
950
+ mapLayer: t.GM.getGraphic(id)
951
+ },
952
+ geometryType: gp.geometry.type,
953
+ area: Math.PI * Math.pow(radius, 2),
954
+ geometry: {
955
+ type: 'circle',
956
+ x: center[0],
957
+ y: center[1],
958
+ radius: radius
959
+ }
960
+ });
961
+ }
962
962
 
963
- t.GM.setGraphic(id, feature).setGraphicParam(id, _objectSpread(_objectSpread({}, param), {}, {
964
- source: gp.source
965
- }));
966
- });
967
- }
963
+ if ('editGraphicChange' in t.props && typeof t.props.editGraphicChange == 'function') {
964
+ t.props.editGraphicChange(param);
965
+ }
968
966
 
967
+ t.GM.setGraphic(id, feature).setGraphicParam(id, _objectSpread(_objectSpread({}, param), {}, {
968
+ source: gp.source
969
+ }));
970
+ });
969
971
  t.editId = id;
970
972
  } //关闭编辑
971
973
 
@@ -1089,169 +1091,224 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
1089
1091
 
1090
1092
  });
1091
1093
  gis.addInteraction(t.drawToolbar);
1092
- t.drawToolbar.on('drawend', function (e) {
1093
- // 关闭绘制事件
1094
- t.drawToolbar.finishDrawing(); // 移除
1094
+ } else {
1095
+ gis.addInteraction(t.drawToolbar);
1096
+ }
1097
+
1098
+ t.drawToolbar.on('drawend', function (e) {
1099
+ // 关闭绘制事件
1100
+ t.drawToolbar.finishDrawing(); // 移除
1101
+
1102
+ gis.removeInteraction(t.drawToolbar);
1103
+ var gc = e.feature.getGeometry(); //返回参数
1095
1104
 
1096
- gis.removeInteraction(t.drawToolbar);
1097
- var gc = e.feature.getGeometry(); //返回参数
1105
+ var param = {}; // 绘制内部管理的图元
1098
1106
 
1099
- var param = {}; // 绘制内部管理的图元
1107
+ if (t.drawParam.geometryType == 'point') {
1108
+ var _gc$flatCoordinates = _slicedToArray(gc.flatCoordinates, 2),
1109
+ lng = _gc$flatCoordinates[0],
1110
+ lat = _gc$flatCoordinates[1];
1100
1111
 
1101
- if (t.drawParam.geometryType == 'point') {
1102
- var _gc$flatCoordinates = _slicedToArray(gc.flatCoordinates, 2),
1103
- lng = _gc$flatCoordinates[0],
1104
- lat = _gc$flatCoordinates[1];
1112
+ gc.x = lng;
1113
+ gc.y = lat;
1105
1114
 
1106
- gc.x = lng;
1107
- gc.y = lat;
1115
+ if (t.GM.isRepetition(t.drawParam.data.id)) {
1116
+ t.updatePoint([{
1117
+ id: t.drawParam.data.id,
1118
+ longitude: lng,
1119
+ latitude: lat,
1120
+ url: t.drawParam.parameter.url || require("../images/defaultMarker.png"),
1121
+ config: _objectSpread({}, t.drawParam.parameter)
1122
+ }], "point");
1123
+ } else {
1108
1124
  t.addPoint([{
1109
1125
  id: t.drawParam.data.id,
1110
1126
  longitude: lng,
1111
1127
  latitude: lat,
1112
1128
  url: t.drawParam.parameter.url || require("../images/defaultMarker.png"),
1113
1129
  config: _objectSpread({}, t.drawParam.parameter)
1114
- }], 'point'); //处理点返回参数
1130
+ }], 'point');
1131
+ } //处理点返回参数
1132
+
1115
1133
 
1116
- param = {
1134
+ param = {
1135
+ id: t.drawParam.data.id,
1136
+ attributes: {
1117
1137
  id: t.drawParam.data.id,
1118
- attributes: {
1119
- id: t.drawParam.data.id,
1120
- url: t.drawParam.parameter.url || require("../images/defaultMarker.png"),
1121
- config: {
1122
- width: t.drawParam.parameter.width || 30,
1123
- height: t.drawParam.parameter.height || 30
1124
- }
1125
- },
1126
- geometry: gc,
1127
- geometryType: 'point',
1128
- mapLayer: t.GM.getGraphic(t.drawParam.data.id)
1129
- };
1130
- } //线
1138
+ url: t.drawParam.parameter.url || require("../images/defaultMarker.png"),
1139
+ config: {
1140
+ width: t.drawParam.parameter.width || 30,
1141
+ height: t.drawParam.parameter.height || 30
1142
+ }
1143
+ },
1144
+ geometry: gc,
1145
+ geometryType: 'point',
1146
+ mapLayer: t.GM.getGraphic(t.drawParam.data.id)
1147
+ };
1148
+ } //线
1131
1149
 
1132
1150
 
1133
- if (t.drawParam.geometryType == 'polyline') {
1134
- var oddList = [],
1135
- evenList = [];
1136
- gc.flatCoordinates.map(function (item, index) {
1137
- // 判断下标奇偶数
1138
- if (index % 2 === 0) {
1139
- evenList.push(item);
1140
- } else {
1141
- oddList.push(item);
1142
- }
1143
- });
1144
- var path = oddList.map(function (item, index) {
1145
- return [evenList[index], oddList[index]];
1146
- });
1151
+ if (t.drawParam.geometryType == 'polyline') {
1152
+ var oddList = [],
1153
+ evenList = [];
1154
+ gc.flatCoordinates.map(function (item, index) {
1155
+ // 判断下标奇偶数
1156
+ if (index % 2 === 0) {
1157
+ evenList.push(item);
1158
+ } else {
1159
+ oddList.push(item);
1160
+ }
1161
+ });
1162
+ var path = oddList.map(function (item, index) {
1163
+ return [evenList[index], oddList[index]];
1164
+ });
1165
+
1166
+ if (t.GM.isRepetition(t.drawParam.data.id)) {
1167
+ t.updateLine([{
1168
+ id: t.drawParam.data.id,
1169
+ paths: path,
1170
+ config: _objectSpread({}, t.drawParam.parameter)
1171
+ }], 'polyline');
1172
+ } else {
1147
1173
  t.addLine([{
1148
1174
  id: t.drawParam.data.id,
1149
1175
  paths: path,
1150
1176
  config: _objectSpread({}, t.drawParam.parameter)
1151
- }], 'polyline'); //处理线返回参数
1177
+ }], 'polyline');
1178
+ } //处理线返回参数
1152
1179
 
1153
- var _t$dealData3 = t.dealData(path),
1154
- lnglatAry = _t$dealData3.lnglatAry,
1155
- _extent = _t$dealData3._extent;
1156
1180
 
1157
- param = {
1158
- lnglatAry: lnglatAry,
1181
+ var _t$dealData3 = t.dealData(path),
1182
+ lnglatAry = _t$dealData3.lnglatAry,
1183
+ _extent = _t$dealData3._extent;
1184
+
1185
+ param = {
1186
+ lnglatAry: lnglatAry,
1187
+ id: t.drawParam.data.id,
1188
+ geometry: _objectSpread(_objectSpread({}, e.geometry), {}, {
1189
+ paths: path,
1190
+ _extent: _extent
1191
+ }),
1192
+ attributes: {
1159
1193
  id: t.drawParam.data.id,
1160
- geometry: _objectSpread(_objectSpread({}, e.geometry), {}, {
1161
- paths: path,
1162
- _extent: _extent
1163
- }),
1164
- attributes: {
1165
- id: t.drawParam.data.id,
1166
- config: _objectSpread({}, t.drawParam.parameter)
1167
- },
1168
- distance: t.calculateDistance(path),
1169
- geometryType: 'polyline',
1170
- mapLayer: t.GM.getGraphic(t.drawParam.data.id)
1171
- };
1172
- } //面
1194
+ config: _objectSpread({}, t.drawParam.parameter)
1195
+ },
1196
+ distance: t.calculateDistance(path),
1197
+ geometryType: 'polyline',
1198
+ mapLayer: t.GM.getGraphic(t.drawParam.data.id)
1199
+ };
1200
+ } //面
1173
1201
 
1174
1202
 
1175
- if (t.drawParam.geometryType == 'polygon') {
1176
- var _oddList2 = [],
1177
- _evenList2 = [];
1178
- gc.flatCoordinates.map(function (item, index) {
1179
- // 判断下标奇偶数
1180
- if (index % 2 === 0) {
1181
- _evenList2.push(item);
1182
- } else {
1183
- _oddList2.push(item);
1184
- }
1185
- });
1203
+ if (t.drawParam.geometryType == 'polygon') {
1204
+ var _oddList2 = [],
1205
+ _evenList2 = [];
1206
+ gc.flatCoordinates.map(function (item, index) {
1207
+ // 判断下标奇偶数
1208
+ if (index % 2 === 0) {
1209
+ _evenList2.push(item);
1210
+ } else {
1211
+ _oddList2.push(item);
1212
+ }
1213
+ });
1186
1214
 
1187
- var _path2 = _oddList2.map(function (item, index) {
1188
- return [_evenList2[index], _oddList2[index]];
1189
- });
1215
+ var _path2 = _oddList2.map(function (item, index) {
1216
+ return [_evenList2[index], _oddList2[index]];
1217
+ });
1190
1218
 
1219
+ if (t.GM.isRepetition(t.drawParam.data.id)) {
1220
+ t.updatePolygon([{
1221
+ id: t.drawParam.data.id,
1222
+ rings: _path2,
1223
+ config: _objectSpread({}, t.drawParam.parameter)
1224
+ }], t.drawParam.geometryType);
1225
+ } else {
1191
1226
  t.addPolygon([{
1192
1227
  id: t.drawParam.data.id,
1193
1228
  rings: _path2,
1194
1229
  config: _objectSpread({}, t.drawParam.parameter)
1195
- }], t.drawParam.geometryType); //处理线返回参数
1230
+ }], t.drawParam.geometryType);
1231
+ } //处理线返回参数
1232
+
1196
1233
 
1197
- var _t$dealData4 = t.dealData(_path2),
1198
- _lnglatAry2 = _t$dealData4.lnglatAry,
1199
- _extent3 = _t$dealData4._extent;
1234
+ var _t$dealData4 = t.dealData(_path2),
1235
+ _lnglatAry2 = _t$dealData4.lnglatAry,
1236
+ _extent3 = _t$dealData4._extent;
1200
1237
 
1201
- param = {
1202
- lnglatAry: _lnglatAry2,
1238
+ param = {
1239
+ lnglatAry: _lnglatAry2,
1240
+ id: t.drawParam.data.id,
1241
+ geometry: _objectSpread(_objectSpread({}, e.geometry), {}, {
1242
+ rings: _path2,
1243
+ type: t.drawParam.geometryType,
1244
+ _extent: _extent3
1245
+ }),
1246
+ attributes: {
1203
1247
  id: t.drawParam.data.id,
1204
- geometry: _objectSpread(_objectSpread({}, e.geometry), {}, {
1205
- rings: _path2,
1206
- type: t.drawParam.geometryType,
1207
- _extent: _extent3
1208
- }),
1209
- attributes: {
1210
- id: t.drawParam.data.id,
1211
- config: _objectSpread({}, t.drawParam.parameter)
1212
- },
1213
- area: (0, _MapToolFunction.getPolygonArea)(_path2),
1214
- geometryType: t.drawParam.geometryType,
1215
- mapLayer: t.GM.getGraphic(t.drawParam.data.id)
1216
- };
1217
- }
1248
+ config: _objectSpread({}, t.drawParam.parameter)
1249
+ },
1250
+ area: (0, _MapToolFunction.getPolygonArea)(_path2),
1251
+ geometryType: t.drawParam.geometryType,
1252
+ mapLayer: t.GM.getGraphic(t.drawParam.data.id)
1253
+ };
1254
+ }
1218
1255
 
1219
- if (t.drawParam.geometryType == 'rectangle') {
1220
- var _path3 = e.feature.getGeometry().getCoordinates()[0];
1256
+ if (t.drawParam.geometryType == 'rectangle') {
1257
+ var _path3 = e.feature.getGeometry().getCoordinates()[0];
1258
+
1259
+ if (t.GM.isRepetition(t.drawParam.data.id)) {
1260
+ t.updatePolygon([{
1261
+ id: t.drawParam.data.id,
1262
+ rings: _path3,
1263
+ config: _objectSpread({}, t.drawParam.parameter)
1264
+ }], t.drawParam.geometryType);
1265
+ } else {
1221
1266
  t.addPolygon([{
1222
1267
  id: t.drawParam.data.id,
1223
1268
  rings: _path3,
1224
1269
  config: _objectSpread({}, t.drawParam.parameter)
1225
- }], t.drawParam.geometryType); //处理线返回参数
1270
+ }], t.drawParam.geometryType);
1271
+ } //处理线返回参数
1226
1272
 
1227
- var _t$dealData5 = t.dealData(_path3),
1228
- _lnglatAry3 = _t$dealData5.lnglatAry,
1229
- _extent4 = _t$dealData5._extent;
1230
1273
 
1231
- param = {
1232
- lnglatAry: _lnglatAry3,
1274
+ var _t$dealData5 = t.dealData(_path3),
1275
+ _lnglatAry3 = _t$dealData5.lnglatAry,
1276
+ _extent4 = _t$dealData5._extent;
1277
+
1278
+ param = {
1279
+ lnglatAry: _lnglatAry3,
1280
+ id: t.drawParam.data.id,
1281
+ geometry: _objectSpread(_objectSpread({}, e.geometry), {}, {
1282
+ rings: _path3,
1283
+ type: t.drawParam.geometryType,
1284
+ _extent: _extent4
1285
+ }),
1286
+ attributes: {
1233
1287
  id: t.drawParam.data.id,
1234
- geometry: _objectSpread(_objectSpread({}, e.geometry), {}, {
1235
- rings: _path3,
1236
- type: t.drawParam.geometryType,
1237
- _extent: _extent4
1238
- }),
1239
- attributes: {
1240
- id: t.drawParam.data.id,
1241
- config: _objectSpread({}, t.drawParam.parameter)
1242
- },
1243
- area: (0, _MapToolFunction.getPolygonArea)(_path3),
1244
- geometryType: t.drawParam.geometryType,
1245
- mapLayer: t.GM.getGraphic(t.drawParam.data.id)
1246
- };
1247
- }
1288
+ config: _objectSpread({}, t.drawParam.parameter)
1289
+ },
1290
+ area: (0, _MapToolFunction.getPolygonArea)(_path3),
1291
+ geometryType: t.drawParam.geometryType,
1292
+ mapLayer: t.GM.getGraphic(t.drawParam.data.id)
1293
+ };
1294
+ }
1295
+
1296
+ if (t.drawParam.geometryType == 'circle') {
1297
+ var center = e.feature.getGeometry().getCenter();
1298
+ var cur = e.feature.getProperties().geometry;
1299
+ var sketchCoords_ = [cur.flatCoordinates[0], cur.flatCoordinates[1]];
1300
+ var sketchCoords_2 = [cur.flatCoordinates[2], cur.flatCoordinates[3]];
1301
+ var radius = ol.sphere.getDistance(sketchCoords_, sketchCoords_2);
1248
1302
 
1249
- if (t.drawParam.geometryType == 'circle') {
1250
- var center = e.feature.getGeometry().getCenter();
1251
- var cur = e.feature.getProperties().geometry;
1252
- var sketchCoords_ = [cur.flatCoordinates[0], cur.flatCoordinates[1]];
1253
- var sketchCoords_2 = [cur.flatCoordinates[2], cur.flatCoordinates[3]];
1254
- var radius = ol.sphere.getDistance(sketchCoords_, sketchCoords_2);
1303
+ if (t.GM.isRepetition(t.drawParam.data.id)) {
1304
+ t.updateCircle([{
1305
+ id: t.drawParam.data.id,
1306
+ longitude: center[0],
1307
+ latitude: center[1],
1308
+ radius: radius,
1309
+ config: _objectSpread({}, t.drawParam.parameter)
1310
+ }], t.drawParam.geometryType);
1311
+ } else {
1255
1312
  t.addCircle([{
1256
1313
  id: t.drawParam.data.id,
1257
1314
  longitude: center[0],
@@ -1259,28 +1316,31 @@ var OlMap = /*#__PURE__*/function (_React$Component) {
1259
1316
  radius: radius,
1260
1317
  config: _objectSpread({}, t.drawParam.parameter)
1261
1318
  }], t.drawParam.geometryType);
1262
- param = {
1263
- area: Math.PI * Math.pow(radius, 2),
1264
- attributes: {
1265
- id: t.drawParam.data.id,
1266
- config: _objectSpread({}, t.drawParam.parameter)
1267
- },
1268
- geometry: {
1269
- type: t.drawParam.geometryType,
1270
- x: center[0],
1271
- y: center[1],
1272
- radius: radius
1273
- },
1274
- geometryType: t.drawParam.geometryType,
1275
- mapLayer: t.GM.getGraphic(t.drawParam.data.id)
1276
- };
1277
1319
  }
1278
1320
 
1279
- if ('drawEnd' in t.props && typeof t.props.drawEnd == 'function') {
1280
- t.props.drawEnd(param);
1281
- }
1282
- });
1283
- }
1321
+ param = {
1322
+ area: Math.PI * Math.pow(radius, 2),
1323
+ attributes: {
1324
+ id: t.drawParam.data.id,
1325
+ config: _objectSpread({}, t.drawParam.parameter)
1326
+ },
1327
+ geometry: {
1328
+ type: t.drawParam.geometryType,
1329
+ x: center[0],
1330
+ y: center[1],
1331
+ radius: radius
1332
+ },
1333
+ geometryType: t.drawParam.geometryType,
1334
+ mapLayer: t.GM.getGraphic(t.drawParam.data.id)
1335
+ };
1336
+ }
1337
+
1338
+ if ('drawEnd' in t.props && typeof t.props.drawEnd == 'function') {
1339
+ t.props.drawEnd(param);
1340
+ }
1341
+ }); //保存绘制图元的id便于后期比对
1342
+
1343
+ t.state.drawIds[drawParam.geometryType].push(drawParam.data.id);
1284
1344
  } // 关闭绘制
1285
1345
 
1286
1346
  }, {