map-ol-utils 0.0.73 → 0.0.75

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
@@ -95,6 +95,7 @@ __export(index_exports, {
95
95
  resetActiveVector: () => resetActiveVector,
96
96
  resetMap: () => resetMap,
97
97
  resetZoomAndCenter: () => resetZoomAndCenter,
98
+ setFitViewByCoords: () => setFitViewByCoords,
98
99
  setFitViewByGeom: () => setFitViewByGeom,
99
100
  setFitViewByLayer: () => setFitViewByLayer,
100
101
  updateMarksLayersByStatus: () => updateMarksLayersByStatus
@@ -124,7 +125,6 @@ var import_control = require("ol/control");
124
125
  // src/layer-utils.ts
125
126
  var import_format = require("ol/format");
126
127
  var import_ol = require("ol");
127
- var import_extent = require("ol/extent");
128
128
  var import_interaction = require("ol/interaction");
129
129
  var import_gcoord = __toESM(require("gcoord"), 1);
130
130
  var import_Vector = __toESM(require("ol/layer/Vector"), 1);
@@ -132,6 +132,7 @@ var import_Vector2 = __toESM(require("ol/source/Vector"), 1);
132
132
  var import_geom = require("ol/geom");
133
133
  var import_condition = require("ol/events/condition");
134
134
  var import_style = require("ol/style");
135
+ var import_extent = require("ol/extent");
135
136
  var removeOverlays = (key = "") => {
136
137
  if (instance) {
137
138
  const overlays = instance.getOverlays().getArray().filter((overlay) => overlay.get(key || "position"));
@@ -167,6 +168,22 @@ var resetActiveVector = () => {
167
168
  interaction == null ? void 0 : interaction.getFeatures().clear();
168
169
  });
169
170
  };
171
+ var setFitViewByCoords = (coords, fitOptions) => {
172
+ const view = instance.getView();
173
+ if (coords.length === 1) {
174
+ view.animate(__spreadValues({
175
+ zoom: 14,
176
+ duration: 1e3,
177
+ center: coords[0]
178
+ }, fitOptions || {}));
179
+ } else {
180
+ const extent = (0, import_extent.boundingExtent)(coords);
181
+ view.fit(extent, __spreadValues({
182
+ padding: [50, 50, 50, 50],
183
+ duration: 1e3
184
+ }, fitOptions || {}));
185
+ }
186
+ };
170
187
  var setFitViewByGeom = (geom, fitOptions) => {
171
188
  instance.getView().fit(geom, __spreadValues({
172
189
  padding: [50, 50, 50, 50],
@@ -427,15 +444,13 @@ var createSelectByLayer = (vectorLayer) => {
427
444
  }
428
445
  });
429
446
  interaction.on("select", (evt) => {
430
- const { selected, deselected, mapBrowserEvent } = evt;
447
+ const { selected, deselected } = evt;
431
448
  if (selected.length) {
432
449
  const feature = selected[0];
433
450
  const data = feature.getProperties();
434
451
  const { activeStyle } = data;
435
452
  feature.setStyle(activeStyle);
436
- if (mapBrowserEvent) {
437
- emitter_default.emit("selected-feature", data);
438
- }
453
+ emitter_default.emit("selected-feature", data);
439
454
  vectorLayer.set("_hasActive", true);
440
455
  if (vectorLayer.get("_isDynamic")) {
441
456
  const activeImage = activeStyle.getImage();
@@ -806,13 +821,13 @@ var createMap = (config = {}) => {
806
821
  });
807
822
  return instance2;
808
823
  };
809
- var disposeMap = () => {
810
- const layers = instance.getAllLayers();
824
+ var disposeMap = (mapInstance = instance) => {
825
+ const layers = mapInstance.getAllLayers();
811
826
  layers.forEach((layer) => {
812
- instance.removeLayer(layer);
827
+ mapInstance.removeLayer(layer);
813
828
  });
814
- instance.setTarget("");
815
- instance = void 0;
829
+ mapInstance.setTarget("");
830
+ mapInstance = void 0;
816
831
  };
817
832
  var getMapInstance = () => instance;
818
833
  var resetZoomAndCenter = (center = mapCenter) => {
@@ -974,6 +989,7 @@ var createWmtsLayer = (serverUrl) => (config) => __async(null, null, function* (
974
989
  resetActiveVector,
975
990
  resetMap,
976
991
  resetZoomAndCenter,
992
+ setFitViewByCoords,
977
993
  setFitViewByGeom,
978
994
  setFitViewByLayer,
979
995
  updateMarksLayersByStatus
package/dist/index.d.cts CHANGED
@@ -8,7 +8,7 @@ import TileLayer from 'ol/layer/Tile';
8
8
  import * as ol_geom from 'ol/geom';
9
9
  import { SimpleGeometry, Point } from 'ol/geom';
10
10
  import { Options } from 'ol/Overlay';
11
- import { FitOptions } from 'ol/View';
11
+ import { FitOptions, AnimationOptions } from 'ol/View';
12
12
  import { Select } from 'ol/interaction';
13
13
  import VectorLayer from 'ol/layer/Vector';
14
14
  import { StyleLike } from 'ol/style/Style';
@@ -118,7 +118,7 @@ declare const removeLayerByName: (name: string) => void;
118
118
  declare let instance: CustomMap;
119
119
  declare const createMapInstance: (config?: {}) => CustomMap;
120
120
  declare const createMap: (config?: {}) => CustomMap;
121
- declare const disposeMap: () => void;
121
+ declare const disposeMap: (mapInstance?: CustomMap) => void;
122
122
  declare const getMapInstance: () => CustomMap;
123
123
  declare const resetZoomAndCenter: (center?: [number, number]) => void;
124
124
  declare const resetMap: (config?: {
@@ -131,6 +131,12 @@ declare const createAnimationMarker: (imgUrl: string, data: MassData) => void;
131
131
  * 重置激活的矢量数据
132
132
  */
133
133
  declare const resetActiveVector: () => void;
134
+ /**
135
+ * 根据Array<Coordinate> Fit
136
+ * @param coords
137
+ * @param fitOptions
138
+ */
139
+ declare const setFitViewByCoords: (coords: Array<Coordinate>, fitOptions?: FitOptions | AnimationOptions) => void;
134
140
  /**
135
141
  * 根据SimpleGeometry Fit
136
142
  * @param geom
@@ -208,4 +214,4 @@ declare const updateMarksLayersByStatus: (checkedStatusList?: string[]) => MassD
208
214
  */
209
215
  declare const createOverlay: (config?: Options) => Overlay;
210
216
 
211
- 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, createMap, createMapInstance, createMapWorldLayer, createMassMarksLayer, createOverlay, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getLayersDataList, getMapInstance, instance, removeAllLayers, removeLayerByName, resetActiveFeature, resetActiveVector, resetMap, resetZoomAndCenter, setFitViewByGeom, setFitViewByLayer, updateMarksLayersByStatus };
217
+ 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, createMap, createMapInstance, createMapWorldLayer, createMassMarksLayer, createOverlay, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getLayersDataList, getMapInstance, instance, removeAllLayers, removeLayerByName, resetActiveFeature, resetActiveVector, resetMap, resetZoomAndCenter, setFitViewByCoords, setFitViewByGeom, setFitViewByLayer, updateMarksLayersByStatus };
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@ import TileLayer from 'ol/layer/Tile';
8
8
  import * as ol_geom from 'ol/geom';
9
9
  import { SimpleGeometry, Point } from 'ol/geom';
10
10
  import { Options } from 'ol/Overlay';
11
- import { FitOptions } from 'ol/View';
11
+ import { FitOptions, AnimationOptions } from 'ol/View';
12
12
  import { Select } from 'ol/interaction';
13
13
  import VectorLayer from 'ol/layer/Vector';
14
14
  import { StyleLike } from 'ol/style/Style';
@@ -118,7 +118,7 @@ declare const removeLayerByName: (name: string) => void;
118
118
  declare let instance: CustomMap;
119
119
  declare const createMapInstance: (config?: {}) => CustomMap;
120
120
  declare const createMap: (config?: {}) => CustomMap;
121
- declare const disposeMap: () => void;
121
+ declare const disposeMap: (mapInstance?: CustomMap) => void;
122
122
  declare const getMapInstance: () => CustomMap;
123
123
  declare const resetZoomAndCenter: (center?: [number, number]) => void;
124
124
  declare const resetMap: (config?: {
@@ -131,6 +131,12 @@ declare const createAnimationMarker: (imgUrl: string, data: MassData) => void;
131
131
  * 重置激活的矢量数据
132
132
  */
133
133
  declare const resetActiveVector: () => void;
134
+ /**
135
+ * 根据Array<Coordinate> Fit
136
+ * @param coords
137
+ * @param fitOptions
138
+ */
139
+ declare const setFitViewByCoords: (coords: Array<Coordinate>, fitOptions?: FitOptions | AnimationOptions) => void;
134
140
  /**
135
141
  * 根据SimpleGeometry Fit
136
142
  * @param geom
@@ -208,4 +214,4 @@ declare const updateMarksLayersByStatus: (checkedStatusList?: string[]) => MassD
208
214
  */
209
215
  declare const createOverlay: (config?: Options) => Overlay;
210
216
 
211
- 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, createMap, createMapInstance, createMapWorldLayer, createMassMarksLayer, createOverlay, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getLayersDataList, getMapInstance, instance, removeAllLayers, removeLayerByName, resetActiveFeature, resetActiveVector, resetMap, resetZoomAndCenter, setFitViewByGeom, setFitViewByLayer, updateMarksLayersByStatus };
217
+ 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, createMap, createMapInstance, createMapWorldLayer, createMassMarksLayer, createOverlay, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getLayersDataList, getMapInstance, instance, removeAllLayers, removeLayerByName, resetActiveFeature, resetActiveVector, resetMap, resetZoomAndCenter, setFitViewByCoords, setFitViewByGeom, 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 { GeoJSON } from "ol/format";
63
63
  import { Feature, Overlay } from "ol";
64
- import { getCenter } from "ol/extent";
65
64
  import { Select } from "ol/interaction";
66
65
  import gcoord from "gcoord";
67
66
  import VectorLayer from "ol/layer/Vector";
@@ -69,6 +68,7 @@ import VectorSource from "ol/source/Vector";
69
68
  import { Point } from "ol/geom";
70
69
  import { singleClick } from "ol/events/condition";
71
70
  import { Fill, Icon, Stroke, Style } from "ol/style";
71
+ import { boundingExtent, getCenter } 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,22 @@ var resetActiveVector = () => {
104
104
  interaction == null ? void 0 : interaction.getFeatures().clear();
105
105
  });
106
106
  };
107
+ var setFitViewByCoords = (coords, fitOptions) => {
108
+ const view = instance.getView();
109
+ if (coords.length === 1) {
110
+ view.animate(__spreadValues({
111
+ zoom: 14,
112
+ duration: 1e3,
113
+ center: coords[0]
114
+ }, fitOptions || {}));
115
+ } else {
116
+ const extent = boundingExtent(coords);
117
+ view.fit(extent, __spreadValues({
118
+ padding: [50, 50, 50, 50],
119
+ duration: 1e3
120
+ }, fitOptions || {}));
121
+ }
122
+ };
107
123
  var setFitViewByGeom = (geom, fitOptions) => {
108
124
  instance.getView().fit(geom, __spreadValues({
109
125
  padding: [50, 50, 50, 50],
@@ -364,15 +380,13 @@ var createSelectByLayer = (vectorLayer) => {
364
380
  }
365
381
  });
366
382
  interaction.on("select", (evt) => {
367
- const { selected, deselected, mapBrowserEvent } = evt;
383
+ const { selected, deselected } = evt;
368
384
  if (selected.length) {
369
385
  const feature = selected[0];
370
386
  const data = feature.getProperties();
371
387
  const { activeStyle } = data;
372
388
  feature.setStyle(activeStyle);
373
- if (mapBrowserEvent) {
374
- emitter_default.emit("selected-feature", data);
375
- }
389
+ emitter_default.emit("selected-feature", data);
376
390
  vectorLayer.set("_hasActive", true);
377
391
  if (vectorLayer.get("_isDynamic")) {
378
392
  const activeImage = activeStyle.getImage();
@@ -743,13 +757,13 @@ var createMap = (config = {}) => {
743
757
  });
744
758
  return instance2;
745
759
  };
746
- var disposeMap = () => {
747
- const layers = instance.getAllLayers();
760
+ var disposeMap = (mapInstance = instance) => {
761
+ const layers = mapInstance.getAllLayers();
748
762
  layers.forEach((layer) => {
749
- instance.removeLayer(layer);
763
+ mapInstance.removeLayer(layer);
750
764
  });
751
- instance.setTarget("");
752
- instance = void 0;
765
+ mapInstance.setTarget("");
766
+ mapInstance = void 0;
753
767
  };
754
768
  var getMapInstance = () => instance;
755
769
  var resetZoomAndCenter = (center = mapCenter) => {
@@ -910,6 +924,7 @@ export {
910
924
  resetActiveVector,
911
925
  resetMap,
912
926
  resetZoomAndCenter,
927
+ setFitViewByCoords,
913
928
  setFitViewByGeom,
914
929
  setFitViewByLayer,
915
930
  updateMarksLayersByStatus
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "map-ol-utils",
3
- "version": "0.0.73",
3
+ "version": "0.0.75",
4
4
  "type": "module",
5
5
  "description": "Openlayers utils library",
6
6
  "files": [