map-ol-utils 0.0.48 → 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 +14 -2
- package/dist/index.d.cts +8 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.js +14 -3
- package/package.json +1 -1
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 = [];
|
|
@@ -390,6 +400,7 @@ var buildMassMarksStyles = (getImgUrlFn) => {
|
|
|
390
400
|
var createSelectByLayer = (vectorLayer) => {
|
|
391
401
|
const interaction = new import_interaction.Select({
|
|
392
402
|
style: null,
|
|
403
|
+
multi: false,
|
|
393
404
|
hitTolerance: 10,
|
|
394
405
|
layers: [vectorLayer],
|
|
395
406
|
condition: (evt) => {
|
|
@@ -403,7 +414,7 @@ var createSelectByLayer = (vectorLayer) => {
|
|
|
403
414
|
layerFilter: (layer) => layer === vectorLayer
|
|
404
415
|
}
|
|
405
416
|
);
|
|
406
|
-
return (0, import_condition.
|
|
417
|
+
return (0, import_condition.singleClick)(evt) && hasFeature;
|
|
407
418
|
}
|
|
408
419
|
});
|
|
409
420
|
interaction.on("select", (evt) => {
|
|
@@ -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,14 +61,14 @@ 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";
|
|
68
67
|
import VectorLayer from "ol/layer/Vector";
|
|
69
68
|
import VectorSource from "ol/source/Vector";
|
|
70
|
-
import {
|
|
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 = [];
|
|
@@ -332,6 +341,7 @@ var buildMassMarksStyles = (getImgUrlFn) => {
|
|
|
332
341
|
var createSelectByLayer = (vectorLayer) => {
|
|
333
342
|
const interaction = new Select({
|
|
334
343
|
style: null,
|
|
344
|
+
multi: false,
|
|
335
345
|
hitTolerance: 10,
|
|
336
346
|
layers: [vectorLayer],
|
|
337
347
|
condition: (evt) => {
|
|
@@ -345,7 +355,7 @@ var createSelectByLayer = (vectorLayer) => {
|
|
|
345
355
|
layerFilter: (layer) => layer === vectorLayer
|
|
346
356
|
}
|
|
347
357
|
);
|
|
348
|
-
return
|
|
358
|
+
return singleClick(evt) && hasFeature;
|
|
349
359
|
}
|
|
350
360
|
});
|
|
351
361
|
interaction.on("select", (evt) => {
|
|
@@ -866,5 +876,6 @@ export {
|
|
|
866
876
|
resetActiveVector,
|
|
867
877
|
resetMap,
|
|
868
878
|
resetZoomAndCenter,
|
|
879
|
+
setFitViewByLayer,
|
|
869
880
|
updateMarksLayersByStatus
|
|
870
881
|
};
|