map-ol-utils 0.0.49 → 0.0.50

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/dist/index.cjs CHANGED
@@ -92,6 +92,7 @@ __export(index_exports, {
92
92
  resetActiveVector: () => resetActiveVector,
93
93
  resetMap: () => resetMap,
94
94
  resetZoomAndCenter: () => resetZoomAndCenter,
95
+ setFitViewByLayer: () => setFitViewByLayer,
95
96
  updateMarksLayersByStatus: () => updateMarksLayersByStatus
96
97
  });
97
98
  module.exports = __toCommonJS(index_exports);
@@ -119,7 +120,6 @@ var import_control = require("ol/control");
119
120
  // src/layer-utils.ts
120
121
  var import_geom = require("ol/geom");
121
122
  var import_format = require("ol/format");
122
- var import_extent = require("ol/extent");
123
123
  var import_ol = require("ol");
124
124
  var import_interaction = require("ol/interaction");
125
125
  var import_gcoord = __toESM(require("gcoord"), 1);
@@ -127,6 +127,7 @@ var import_Vector = __toESM(require("ol/layer/Vector"), 1);
127
127
  var import_Vector2 = __toESM(require("ol/source/Vector"), 1);
128
128
  var import_condition = require("ol/events/condition");
129
129
  var import_style = require("ol/style");
130
+ var import_extent = require("ol/extent");
130
131
  var removeOverlays = (key = "") => {
131
132
  if (instance) {
132
133
  const overlays = instance.getOverlays().getArray().filter((overlay) => overlay.get(key || "position"));
@@ -162,6 +163,15 @@ var resetActiveVector = () => {
162
163
  interaction == null ? void 0 : interaction.getFeatures().clear();
163
164
  });
164
165
  };
166
+ var setFitViewByLayer = (layer, fitOptions) => {
167
+ const extent = (0, import_extent.boundingExtent)(
168
+ layer.getSource().getFeatures().map((feature) => feature.getCoordinates())
169
+ );
170
+ instance.getView().fit(extent, __spreadValues({
171
+ padding: [50, 50, 50, 50],
172
+ duration: 1e3
173
+ }, fitOptions));
174
+ };
165
175
  var assembleGeoJson = (dataList, config) => {
166
176
  const { key, crsForm } = config;
167
177
  const tempList = [];
@@ -294,6 +304,7 @@ var createVectorFaceLayer = (dataList = [], config) => createBusinessLayer(dataL
294
304
  var createVectorLineLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign({}, config, { isLine: true }));
295
305
  var removeAllLayers = (isClearAll = true) => {
296
306
  removeOverlays();
307
+ console.log(isClearAll);
297
308
  if (instance) {
298
309
  instance.getAllLayers().forEach((layer) => {
299
310
  if (!layer.get("_isBaseLayer")) {
@@ -925,5 +936,6 @@ var createWmtsLayer = (serverUrl) => (config) => __async(void 0, null, function*
925
936
  resetActiveVector,
926
937
  resetMap,
927
938
  resetZoomAndCenter,
939
+ setFitViewByLayer,
928
940
  updateMarksLayersByStatus
929
941
  });
package/dist/index.d.cts CHANGED
@@ -11,6 +11,7 @@ import { Select } from 'ol/interaction';
11
11
  import VectorLayer from 'ol/layer/Vector';
12
12
  import { StyleLike } from 'ol/style/Style';
13
13
  import VectorSource from 'ol/source/Vector';
14
+ import { FitOptions } from 'ol/View';
14
15
 
15
16
  interface CustomMap extends Map$1 {
16
17
  activeBaseLayer?: string;
@@ -125,6 +126,12 @@ declare const createAnimationMarker: (imgUrl: string, data: MassData) => void;
125
126
  * 重置激活的矢量数据
126
127
  */
127
128
  declare const resetActiveVector: () => void;
129
+ /**
130
+ * 根据VectorLayer自动缩放地图到合适的视野级别
131
+ * @param layer
132
+ * @param fitOptions
133
+ */
134
+ declare const setFitViewByLayer: (layer: VectorLayer, fitOptions: FitOptions) => void;
128
135
  declare const createBusinessLayer: (dataList: MassData[], config: VectorConfig) => VectorLayer<VectorSource<Feature<ol_geom.Geometry>>, Feature<ol_geom.Geometry>>;
129
136
  /**
130
137
  * 追加Features
@@ -185,4 +192,4 @@ declare const addMassMarksLayer: (getImgUrlFn: GetImgUrlFn) => (dataList: never[
185
192
  */
186
193
  declare const updateMarksLayersByStatus: (checkedStatusList?: string[]) => MassData[];
187
194
 
188
- export { type CustomMap, type GeometryCoordinates, GeometryType, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, activeFeatureByUid, addMassMarksLayer, appendFeaturesByLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getLayersDataList, getMapInstance, instance, removeAllLayers, resetActiveFeature, resetActiveVector, resetMap, resetZoomAndCenter, updateMarksLayersByStatus };
195
+ export { type CustomMap, type GeometryCoordinates, GeometryType, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, activeFeatureByUid, addMassMarksLayer, appendFeaturesByLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getLayersDataList, getMapInstance, instance, removeAllLayers, resetActiveFeature, resetActiveVector, resetMap, resetZoomAndCenter, setFitViewByLayer, updateMarksLayersByStatus };
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@ import { Select } from 'ol/interaction';
11
11
  import VectorLayer from 'ol/layer/Vector';
12
12
  import { StyleLike } from 'ol/style/Style';
13
13
  import VectorSource from 'ol/source/Vector';
14
+ import { FitOptions } from 'ol/View';
14
15
 
15
16
  interface CustomMap extends Map$1 {
16
17
  activeBaseLayer?: string;
@@ -125,6 +126,12 @@ declare const createAnimationMarker: (imgUrl: string, data: MassData) => void;
125
126
  * 重置激活的矢量数据
126
127
  */
127
128
  declare const resetActiveVector: () => void;
129
+ /**
130
+ * 根据VectorLayer自动缩放地图到合适的视野级别
131
+ * @param layer
132
+ * @param fitOptions
133
+ */
134
+ declare const setFitViewByLayer: (layer: VectorLayer, fitOptions: FitOptions) => void;
128
135
  declare const createBusinessLayer: (dataList: MassData[], config: VectorConfig) => VectorLayer<VectorSource<Feature<ol_geom.Geometry>>, Feature<ol_geom.Geometry>>;
129
136
  /**
130
137
  * 追加Features
@@ -185,4 +192,4 @@ declare const addMassMarksLayer: (getImgUrlFn: GetImgUrlFn) => (dataList: never[
185
192
  */
186
193
  declare const updateMarksLayersByStatus: (checkedStatusList?: string[]) => MassData[];
187
194
 
188
- export { type CustomMap, type GeometryCoordinates, GeometryType, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, activeFeatureByUid, addMassMarksLayer, appendFeaturesByLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getLayersDataList, getMapInstance, instance, removeAllLayers, resetActiveFeature, resetActiveVector, resetMap, resetZoomAndCenter, updateMarksLayersByStatus };
195
+ export { type CustomMap, type GeometryCoordinates, GeometryType, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, activeFeatureByUid, addMassMarksLayer, appendFeaturesByLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getLayersDataList, getMapInstance, instance, removeAllLayers, resetActiveFeature, resetActiveVector, resetMap, resetZoomAndCenter, setFitViewByLayer, updateMarksLayersByStatus };
package/dist/index.js CHANGED
@@ -61,7 +61,6 @@ import { defaults } from "ol/control";
61
61
  // src/layer-utils.ts
62
62
  import { Point } from "ol/geom";
63
63
  import { GeoJSON } from "ol/format";
64
- import { getCenter } from "ol/extent";
65
64
  import { Feature, Overlay } from "ol";
66
65
  import { Select } from "ol/interaction";
67
66
  import gcoord from "gcoord";
@@ -69,6 +68,7 @@ import VectorLayer from "ol/layer/Vector";
69
68
  import VectorSource from "ol/source/Vector";
70
69
  import { singleClick } from "ol/events/condition";
71
70
  import { Fill, Icon, Stroke, Style } from "ol/style";
71
+ import { getCenter, boundingExtent } from "ol/extent";
72
72
  var removeOverlays = (key = "") => {
73
73
  if (instance) {
74
74
  const overlays = instance.getOverlays().getArray().filter((overlay) => overlay.get(key || "position"));
@@ -104,6 +104,15 @@ var resetActiveVector = () => {
104
104
  interaction == null ? void 0 : interaction.getFeatures().clear();
105
105
  });
106
106
  };
107
+ var setFitViewByLayer = (layer, fitOptions) => {
108
+ const extent = boundingExtent(
109
+ layer.getSource().getFeatures().map((feature) => feature.getCoordinates())
110
+ );
111
+ instance.getView().fit(extent, __spreadValues({
112
+ padding: [50, 50, 50, 50],
113
+ duration: 1e3
114
+ }, fitOptions));
115
+ };
107
116
  var assembleGeoJson = (dataList, config) => {
108
117
  const { key, crsForm } = config;
109
118
  const tempList = [];
@@ -236,6 +245,7 @@ var createVectorFaceLayer = (dataList = [], config) => createBusinessLayer(dataL
236
245
  var createVectorLineLayer = (dataList = [], config) => createBusinessLayer(dataList, Object.assign({}, config, { isLine: true }));
237
246
  var removeAllLayers = (isClearAll = true) => {
238
247
  removeOverlays();
248
+ console.log(isClearAll);
239
249
  if (instance) {
240
250
  instance.getAllLayers().forEach((layer) => {
241
251
  if (!layer.get("_isBaseLayer")) {
@@ -866,5 +876,6 @@ export {
866
876
  resetActiveVector,
867
877
  resetMap,
868
878
  resetZoomAndCenter,
879
+ setFitViewByLayer,
869
880
  updateMarksLayersByStatus
870
881
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "map-ol-utils",
3
- "version": "0.0.49",
3
+ "version": "0.0.50",
4
4
  "type": "module",
5
5
  "description": "Openlayers utils library",
6
6
  "files": [