map-ol-utils 0.0.60 → 0.0.62
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 -12
- package/dist/index.d.cts +1 -5
- package/dist/index.d.ts +1 -5
- package/dist/index.js +14 -12
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -121,6 +121,7 @@ var import_control = require("ol/control");
|
|
|
121
121
|
// src/layer-utils.ts
|
|
122
122
|
var import_format = require("ol/format");
|
|
123
123
|
var import_ol = require("ol");
|
|
124
|
+
var import_extent = require("ol/extent");
|
|
124
125
|
var import_interaction = require("ol/interaction");
|
|
125
126
|
var import_gcoord = __toESM(require("gcoord"), 1);
|
|
126
127
|
var import_Vector = __toESM(require("ol/layer/Vector"), 1);
|
|
@@ -128,7 +129,6 @@ var import_Vector2 = __toESM(require("ol/source/Vector"), 1);
|
|
|
128
129
|
var import_geom = require("ol/geom");
|
|
129
130
|
var import_condition = require("ol/events/condition");
|
|
130
131
|
var import_style = require("ol/style");
|
|
131
|
-
var import_extent = require("ol/extent");
|
|
132
132
|
var removeOverlays = (key = "") => {
|
|
133
133
|
if (instance) {
|
|
134
134
|
const overlays = instance.getOverlays().getArray().filter((overlay) => overlay.get(key || "position"));
|
|
@@ -185,7 +185,7 @@ var assembleGeoJson = (dataList, config) => {
|
|
|
185
185
|
try {
|
|
186
186
|
const pathArray = Array.isArray(item[key]) ? item[key] : JSON.parse(item[key] || "[]");
|
|
187
187
|
if (pathArray.length) {
|
|
188
|
-
const type = determineGeometryType(pathArray);
|
|
188
|
+
const type = item["geoType"] || determineGeometryType(pathArray);
|
|
189
189
|
if (type !== "Invalid" /* Invalid */) {
|
|
190
190
|
tempList.push({
|
|
191
191
|
type: "Feature",
|
|
@@ -264,7 +264,7 @@ var createVectorStyle = (feature, config) => {
|
|
|
264
264
|
return unActiveStyle;
|
|
265
265
|
};
|
|
266
266
|
var createBusinessLayer = (dataList, config) => {
|
|
267
|
-
const { layerName, openClick } = config;
|
|
267
|
+
const { isAutoFit, layerName, openClick } = config;
|
|
268
268
|
const geoJson = assembleGeoJson(dataList, config);
|
|
269
269
|
const vectorLayer = new import_Vector.default({
|
|
270
270
|
zIndex: 5,
|
|
@@ -281,6 +281,7 @@ var createBusinessLayer = (dataList, config) => {
|
|
|
281
281
|
}
|
|
282
282
|
vectorLayer.setProperties({
|
|
283
283
|
_isCustom: true,
|
|
284
|
+
_isAutoFit: isAutoFit,
|
|
284
285
|
_isVectorLayer: true,
|
|
285
286
|
_vectorConfig: config,
|
|
286
287
|
_layerName: layerName,
|
|
@@ -448,12 +449,15 @@ var createSelectByLayer = (vectorLayer) => {
|
|
|
448
449
|
);
|
|
449
450
|
}, 1e3);
|
|
450
451
|
}
|
|
451
|
-
const
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
452
|
+
const isAutoFit = vectorLayer.get("_isAutoFit");
|
|
453
|
+
if (isAutoFit) {
|
|
454
|
+
const view = instance.getView();
|
|
455
|
+
view.animate({
|
|
456
|
+
duration: 1e3,
|
|
457
|
+
zoom: view.getZoom(),
|
|
458
|
+
center: (0, import_extent.getCenter)(feature.getGeometry().getExtent())
|
|
459
|
+
});
|
|
460
|
+
}
|
|
457
461
|
}
|
|
458
462
|
if (deselected.length) {
|
|
459
463
|
const feature = deselected[0];
|
|
@@ -776,9 +780,7 @@ var createMapInstance = (config = {}) => {
|
|
|
776
780
|
instance.removeLayerByName = removeLayerByName;
|
|
777
781
|
instance.changeLayersByNames = changeLayersByNames;
|
|
778
782
|
instance.on("pointermove", (evt) => {
|
|
779
|
-
instance.getTargetElement().style.cursor = instance.hasFeatureAtPixel(
|
|
780
|
-
evt.pixel
|
|
781
|
-
) ? "pointer" : "";
|
|
783
|
+
instance.getTargetElement().style.cursor = instance.hasFeatureAtPixel(evt.pixel) ? "pointer" : "";
|
|
782
784
|
});
|
|
783
785
|
return instance;
|
|
784
786
|
};
|
package/dist/index.d.cts
CHANGED
|
@@ -31,6 +31,7 @@ type VectorConfig = {
|
|
|
31
31
|
layerName?: string;
|
|
32
32
|
openClick?: boolean;
|
|
33
33
|
fillColor?: string;
|
|
34
|
+
isAutoFit?: boolean;
|
|
34
35
|
crsForm?: CRSTypes;
|
|
35
36
|
fillOpacity?: number;
|
|
36
37
|
strokeColor?: string;
|
|
@@ -63,15 +64,10 @@ type MassData = {
|
|
|
63
64
|
status: string;
|
|
64
65
|
width?: number;
|
|
65
66
|
height?: number;
|
|
66
|
-
itemName: string;
|
|
67
67
|
crsForm?: CRSTypes;
|
|
68
68
|
rawData: {
|
|
69
69
|
[key: string]: any;
|
|
70
70
|
};
|
|
71
|
-
imgList: {
|
|
72
|
-
text: string;
|
|
73
|
-
icon: string;
|
|
74
|
-
}[];
|
|
75
71
|
lnglat: [string, string] | [number, number];
|
|
76
72
|
};
|
|
77
73
|
type WmtsSourceOptions = {
|
package/dist/index.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ type VectorConfig = {
|
|
|
31
31
|
layerName?: string;
|
|
32
32
|
openClick?: boolean;
|
|
33
33
|
fillColor?: string;
|
|
34
|
+
isAutoFit?: boolean;
|
|
34
35
|
crsForm?: CRSTypes;
|
|
35
36
|
fillOpacity?: number;
|
|
36
37
|
strokeColor?: string;
|
|
@@ -63,15 +64,10 @@ type MassData = {
|
|
|
63
64
|
status: string;
|
|
64
65
|
width?: number;
|
|
65
66
|
height?: number;
|
|
66
|
-
itemName: string;
|
|
67
67
|
crsForm?: CRSTypes;
|
|
68
68
|
rawData: {
|
|
69
69
|
[key: string]: any;
|
|
70
70
|
};
|
|
71
|
-
imgList: {
|
|
72
|
-
text: string;
|
|
73
|
-
icon: string;
|
|
74
|
-
}[];
|
|
75
71
|
lnglat: [string, string] | [number, number];
|
|
76
72
|
};
|
|
77
73
|
type WmtsSourceOptions = {
|
package/dist/index.js
CHANGED
|
@@ -61,6 +61,7 @@ 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";
|
|
64
65
|
import { Select } from "ol/interaction";
|
|
65
66
|
import gcoord from "gcoord";
|
|
66
67
|
import VectorLayer from "ol/layer/Vector";
|
|
@@ -68,7 +69,6 @@ import VectorSource from "ol/source/Vector";
|
|
|
68
69
|
import { Point } from "ol/geom";
|
|
69
70
|
import { singleClick } from "ol/events/condition";
|
|
70
71
|
import { Fill, Icon, Stroke, Style } from "ol/style";
|
|
71
|
-
import { 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"));
|
|
@@ -125,7 +125,7 @@ var assembleGeoJson = (dataList, config) => {
|
|
|
125
125
|
try {
|
|
126
126
|
const pathArray = Array.isArray(item[key]) ? item[key] : JSON.parse(item[key] || "[]");
|
|
127
127
|
if (pathArray.length) {
|
|
128
|
-
const type = determineGeometryType(pathArray);
|
|
128
|
+
const type = item["geoType"] || determineGeometryType(pathArray);
|
|
129
129
|
if (type !== "Invalid" /* Invalid */) {
|
|
130
130
|
tempList.push({
|
|
131
131
|
type: "Feature",
|
|
@@ -204,7 +204,7 @@ var createVectorStyle = (feature, config) => {
|
|
|
204
204
|
return unActiveStyle;
|
|
205
205
|
};
|
|
206
206
|
var createBusinessLayer = (dataList, config) => {
|
|
207
|
-
const { layerName, openClick } = config;
|
|
207
|
+
const { isAutoFit, layerName, openClick } = config;
|
|
208
208
|
const geoJson = assembleGeoJson(dataList, config);
|
|
209
209
|
const vectorLayer = new VectorLayer({
|
|
210
210
|
zIndex: 5,
|
|
@@ -221,6 +221,7 @@ var createBusinessLayer = (dataList, config) => {
|
|
|
221
221
|
}
|
|
222
222
|
vectorLayer.setProperties({
|
|
223
223
|
_isCustom: true,
|
|
224
|
+
_isAutoFit: isAutoFit,
|
|
224
225
|
_isVectorLayer: true,
|
|
225
226
|
_vectorConfig: config,
|
|
226
227
|
_layerName: layerName,
|
|
@@ -388,12 +389,15 @@ var createSelectByLayer = (vectorLayer) => {
|
|
|
388
389
|
);
|
|
389
390
|
}, 1e3);
|
|
390
391
|
}
|
|
391
|
-
const
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
392
|
+
const isAutoFit = vectorLayer.get("_isAutoFit");
|
|
393
|
+
if (isAutoFit) {
|
|
394
|
+
const view = instance.getView();
|
|
395
|
+
view.animate({
|
|
396
|
+
duration: 1e3,
|
|
397
|
+
zoom: view.getZoom(),
|
|
398
|
+
center: getCenter(feature.getGeometry().getExtent())
|
|
399
|
+
});
|
|
400
|
+
}
|
|
397
401
|
}
|
|
398
402
|
if (deselected.length) {
|
|
399
403
|
const feature = deselected[0];
|
|
@@ -716,9 +720,7 @@ var createMapInstance = (config = {}) => {
|
|
|
716
720
|
instance.removeLayerByName = removeLayerByName;
|
|
717
721
|
instance.changeLayersByNames = changeLayersByNames;
|
|
718
722
|
instance.on("pointermove", (evt) => {
|
|
719
|
-
instance.getTargetElement().style.cursor = instance.hasFeatureAtPixel(
|
|
720
|
-
evt.pixel
|
|
721
|
-
) ? "pointer" : "";
|
|
723
|
+
instance.getTargetElement().style.cursor = instance.hasFeatureAtPixel(evt.pixel) ? "pointer" : "";
|
|
722
724
|
});
|
|
723
725
|
return instance;
|
|
724
726
|
};
|