map-ol-utils 0.0.74 → 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],
@@ -353,7 +370,9 @@ var activeFeatureByUid = (uid) => {
353
370
  const selectInteraction = targetLayer.get("_selectInteraction");
354
371
  if (selectInteraction) {
355
372
  const collection = selectInteraction.getFeatures().getArray();
356
- const hasFeature = collection.find((feature) => feature.get("_uuid") === uid);
373
+ const hasFeature = collection.find(
374
+ (feature) => feature.get("_uuid") === uid
375
+ );
357
376
  if (!hasFeature) {
358
377
  selectInteraction.dispatchEvent({
359
378
  type: "select",
@@ -425,7 +444,7 @@ var createSelectByLayer = (vectorLayer) => {
425
444
  }
426
445
  });
427
446
  interaction.on("select", (evt) => {
428
- const { selected, deselected, mapBrowserEvent } = evt;
447
+ const { selected, deselected } = evt;
429
448
  if (selected.length) {
430
449
  const feature = selected[0];
431
450
  const data = feature.getProperties();
@@ -970,6 +989,7 @@ var createWmtsLayer = (serverUrl) => (config) => __async(null, null, function* (
970
989
  resetActiveVector,
971
990
  resetMap,
972
991
  resetZoomAndCenter,
992
+ setFitViewByCoords,
973
993
  setFitViewByGeom,
974
994
  setFitViewByLayer,
975
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';
@@ -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';
@@ -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],
@@ -290,7 +306,9 @@ var activeFeatureByUid = (uid) => {
290
306
  const selectInteraction = targetLayer.get("_selectInteraction");
291
307
  if (selectInteraction) {
292
308
  const collection = selectInteraction.getFeatures().getArray();
293
- const hasFeature = collection.find((feature) => feature.get("_uuid") === uid);
309
+ const hasFeature = collection.find(
310
+ (feature) => feature.get("_uuid") === uid
311
+ );
294
312
  if (!hasFeature) {
295
313
  selectInteraction.dispatchEvent({
296
314
  type: "select",
@@ -362,7 +380,7 @@ var createSelectByLayer = (vectorLayer) => {
362
380
  }
363
381
  });
364
382
  interaction.on("select", (evt) => {
365
- const { selected, deselected, mapBrowserEvent } = evt;
383
+ const { selected, deselected } = evt;
366
384
  if (selected.length) {
367
385
  const feature = selected[0];
368
386
  const data = feature.getProperties();
@@ -906,6 +924,7 @@ export {
906
924
  resetActiveVector,
907
925
  resetMap,
908
926
  resetZoomAndCenter,
927
+ setFitViewByCoords,
909
928
  setFitViewByGeom,
910
929
  setFitViewByLayer,
911
930
  updateMarksLayersByStatus
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "map-ol-utils",
3
- "version": "0.0.74",
3
+ "version": "0.0.75",
4
4
  "type": "module",
5
5
  "description": "Openlayers utils library",
6
6
  "files": [