map-ol-utils 0.0.74 → 0.1.0
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 +30 -7
- package/dist/index.d.cts +13 -4
- package/dist/index.d.ts +13 -4
- package/dist/index.js +29 -7
- package/package.json +1 -1
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,16 +168,32 @@ var resetActiveVector = () => {
|
|
|
167
168
|
interaction == null ? void 0 : interaction.getFeatures().clear();
|
|
168
169
|
});
|
|
169
170
|
};
|
|
170
|
-
var
|
|
171
|
-
|
|
171
|
+
var setFitViewByCoords = (coords, mapInstance = instance, fitOptions) => {
|
|
172
|
+
const view = mapInstance.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
|
+
};
|
|
187
|
+
var setFitViewByGeom = (geom, mapInstance = instance, fitOptions) => {
|
|
188
|
+
mapInstance.getView().fit(geom, __spreadValues({
|
|
172
189
|
padding: [50, 50, 50, 50],
|
|
173
190
|
duration: 1e3
|
|
174
191
|
}, fitOptions || {}));
|
|
175
192
|
};
|
|
176
|
-
var setFitViewByLayer = (layer, fitOptions) => {
|
|
193
|
+
var setFitViewByLayer = (layer, mapInstance = instance, fitOptions) => {
|
|
177
194
|
var _a;
|
|
178
195
|
const extent = ((_a = layer.getSource()) == null ? void 0 : _a.getExtent()) || [];
|
|
179
|
-
|
|
196
|
+
mapInstance.getView().fit(extent, __spreadValues({
|
|
180
197
|
padding: [50, 50, 50, 50],
|
|
181
198
|
duration: 1e3
|
|
182
199
|
}, fitOptions || {}));
|
|
@@ -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(
|
|
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
|
|
447
|
+
const { selected, deselected } = evt;
|
|
429
448
|
if (selected.length) {
|
|
430
449
|
const feature = selected[0];
|
|
431
450
|
const data = feature.getProperties();
|
|
@@ -803,6 +822,9 @@ var createMap = (config = {}) => {
|
|
|
803
822
|
return instance2;
|
|
804
823
|
};
|
|
805
824
|
var disposeMap = (mapInstance = instance) => {
|
|
825
|
+
mapInstance.getOverlays().forEach((overlay) => {
|
|
826
|
+
mapInstance.removeOverlay(overlay);
|
|
827
|
+
});
|
|
806
828
|
const layers = mapInstance.getAllLayers();
|
|
807
829
|
layers.forEach((layer) => {
|
|
808
830
|
mapInstance.removeLayer(layer);
|
|
@@ -970,6 +992,7 @@ var createWmtsLayer = (serverUrl) => (config) => __async(null, null, function* (
|
|
|
970
992
|
resetActiveVector,
|
|
971
993
|
resetMap,
|
|
972
994
|
resetZoomAndCenter,
|
|
995
|
+
setFitViewByCoords,
|
|
973
996
|
setFitViewByGeom,
|
|
974
997
|
setFitViewByLayer,
|
|
975
998
|
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,18 +131,27 @@ 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 mapInstance
|
|
138
|
+
* @param fitOptions
|
|
139
|
+
*/
|
|
140
|
+
declare const setFitViewByCoords: (coords: Array<Coordinate>, mapInstance?: CustomMap, fitOptions?: FitOptions | AnimationOptions) => void;
|
|
134
141
|
/**
|
|
135
142
|
* 根据SimpleGeometry Fit
|
|
136
143
|
* @param geom
|
|
144
|
+
* @param mapInstance
|
|
137
145
|
* @param fitOptions
|
|
138
146
|
*/
|
|
139
|
-
declare const setFitViewByGeom: (geom: SimpleGeometry, fitOptions?: FitOptions) => void;
|
|
147
|
+
declare const setFitViewByGeom: (geom: SimpleGeometry, mapInstance?: CustomMap, fitOptions?: FitOptions) => void;
|
|
140
148
|
/**
|
|
141
149
|
* 根据VectorLayer要素的四至信息Fit
|
|
142
150
|
* @param layer
|
|
151
|
+
* @param mapInstance
|
|
143
152
|
* @param fitOptions
|
|
144
153
|
*/
|
|
145
|
-
declare const setFitViewByLayer: (layer: VectorLayer, fitOptions?: FitOptions) => void;
|
|
154
|
+
declare const setFitViewByLayer: (layer: VectorLayer, mapInstance?: CustomMap, fitOptions?: FitOptions) => void;
|
|
146
155
|
declare const createBusinessLayer: (dataList: MassData[], config: VectorConfig) => VectorLayer<VectorSource<Feature<ol_geom.Geometry>>, Feature<ol_geom.Geometry>>;
|
|
147
156
|
/**
|
|
148
157
|
* 追加Features
|
|
@@ -208,4 +217,4 @@ declare const updateMarksLayersByStatus: (checkedStatusList?: string[]) => MassD
|
|
|
208
217
|
*/
|
|
209
218
|
declare const createOverlay: (config?: Options) => Overlay;
|
|
210
219
|
|
|
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 };
|
|
220
|
+
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,18 +131,27 @@ 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 mapInstance
|
|
138
|
+
* @param fitOptions
|
|
139
|
+
*/
|
|
140
|
+
declare const setFitViewByCoords: (coords: Array<Coordinate>, mapInstance?: CustomMap, fitOptions?: FitOptions | AnimationOptions) => void;
|
|
134
141
|
/**
|
|
135
142
|
* 根据SimpleGeometry Fit
|
|
136
143
|
* @param geom
|
|
144
|
+
* @param mapInstance
|
|
137
145
|
* @param fitOptions
|
|
138
146
|
*/
|
|
139
|
-
declare const setFitViewByGeom: (geom: SimpleGeometry, fitOptions?: FitOptions) => void;
|
|
147
|
+
declare const setFitViewByGeom: (geom: SimpleGeometry, mapInstance?: CustomMap, fitOptions?: FitOptions) => void;
|
|
140
148
|
/**
|
|
141
149
|
* 根据VectorLayer要素的四至信息Fit
|
|
142
150
|
* @param layer
|
|
151
|
+
* @param mapInstance
|
|
143
152
|
* @param fitOptions
|
|
144
153
|
*/
|
|
145
|
-
declare const setFitViewByLayer: (layer: VectorLayer, fitOptions?: FitOptions) => void;
|
|
154
|
+
declare const setFitViewByLayer: (layer: VectorLayer, mapInstance?: CustomMap, fitOptions?: FitOptions) => void;
|
|
146
155
|
declare const createBusinessLayer: (dataList: MassData[], config: VectorConfig) => VectorLayer<VectorSource<Feature<ol_geom.Geometry>>, Feature<ol_geom.Geometry>>;
|
|
147
156
|
/**
|
|
148
157
|
* 追加Features
|
|
@@ -208,4 +217,4 @@ declare const updateMarksLayersByStatus: (checkedStatusList?: string[]) => MassD
|
|
|
208
217
|
*/
|
|
209
218
|
declare const createOverlay: (config?: Options) => Overlay;
|
|
210
219
|
|
|
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 };
|
|
220
|
+
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,16 +104,32 @@ var resetActiveVector = () => {
|
|
|
104
104
|
interaction == null ? void 0 : interaction.getFeatures().clear();
|
|
105
105
|
});
|
|
106
106
|
};
|
|
107
|
-
var
|
|
108
|
-
|
|
107
|
+
var setFitViewByCoords = (coords, mapInstance = instance, fitOptions) => {
|
|
108
|
+
const view = mapInstance.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
|
+
};
|
|
123
|
+
var setFitViewByGeom = (geom, mapInstance = instance, fitOptions) => {
|
|
124
|
+
mapInstance.getView().fit(geom, __spreadValues({
|
|
109
125
|
padding: [50, 50, 50, 50],
|
|
110
126
|
duration: 1e3
|
|
111
127
|
}, fitOptions || {}));
|
|
112
128
|
};
|
|
113
|
-
var setFitViewByLayer = (layer, fitOptions) => {
|
|
129
|
+
var setFitViewByLayer = (layer, mapInstance = instance, fitOptions) => {
|
|
114
130
|
var _a;
|
|
115
131
|
const extent = ((_a = layer.getSource()) == null ? void 0 : _a.getExtent()) || [];
|
|
116
|
-
|
|
132
|
+
mapInstance.getView().fit(extent, __spreadValues({
|
|
117
133
|
padding: [50, 50, 50, 50],
|
|
118
134
|
duration: 1e3
|
|
119
135
|
}, fitOptions || {}));
|
|
@@ -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(
|
|
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
|
|
383
|
+
const { selected, deselected } = evt;
|
|
366
384
|
if (selected.length) {
|
|
367
385
|
const feature = selected[0];
|
|
368
386
|
const data = feature.getProperties();
|
|
@@ -740,6 +758,9 @@ var createMap = (config = {}) => {
|
|
|
740
758
|
return instance2;
|
|
741
759
|
};
|
|
742
760
|
var disposeMap = (mapInstance = instance) => {
|
|
761
|
+
mapInstance.getOverlays().forEach((overlay) => {
|
|
762
|
+
mapInstance.removeOverlay(overlay);
|
|
763
|
+
});
|
|
743
764
|
const layers = mapInstance.getAllLayers();
|
|
744
765
|
layers.forEach((layer) => {
|
|
745
766
|
mapInstance.removeLayer(layer);
|
|
@@ -906,6 +927,7 @@ export {
|
|
|
906
927
|
resetActiveVector,
|
|
907
928
|
resetMap,
|
|
908
929
|
resetZoomAndCenter,
|
|
930
|
+
setFitViewByCoords,
|
|
909
931
|
setFitViewByGeom,
|
|
910
932
|
setFitViewByLayer,
|
|
911
933
|
updateMarksLayersByStatus
|