map-ol-utils 0.0.30 → 0.0.31
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 +148 -144
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +142 -139
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -82,6 +82,7 @@ __export(index_exports, {
|
|
|
82
82
|
createWmtsLayer: () => createWmtsLayer,
|
|
83
83
|
disposeMap: () => disposeMap,
|
|
84
84
|
emitter: () => emitter_default,
|
|
85
|
+
getLayersDataList: () => getLayersDataList,
|
|
85
86
|
getMapInstance: () => getMapInstance,
|
|
86
87
|
instance: () => instance,
|
|
87
88
|
removeAllLayers: () => removeAllLayers,
|
|
@@ -98,61 +99,6 @@ var import_mitt = __toESM(require("mitt"), 1);
|
|
|
98
99
|
var emitter = (0, import_mitt.default)();
|
|
99
100
|
var emitter_default = emitter;
|
|
100
101
|
|
|
101
|
-
// src/ogc-utils.ts
|
|
102
|
-
var import_source = require("ol/source");
|
|
103
|
-
var import_Tile = __toESM(require("ol/layer/Tile"), 1);
|
|
104
|
-
var import_format = require("ol/format");
|
|
105
|
-
var import_WMTS = require("ol/source/WMTS");
|
|
106
|
-
var parser = new import_format.WMTSCapabilities();
|
|
107
|
-
var capabilitiesMap = /* @__PURE__ */ new Map();
|
|
108
|
-
var getCapabilities = (url) => {
|
|
109
|
-
return new Promise((resolve) => {
|
|
110
|
-
const capabilities = capabilitiesMap.get(url);
|
|
111
|
-
if (capabilities) {
|
|
112
|
-
resolve(capabilities);
|
|
113
|
-
} else {
|
|
114
|
-
fetch(url).then((data) => data.text()).then((text) => {
|
|
115
|
-
const capabilities2 = parser.read(text);
|
|
116
|
-
capabilitiesMap.set(url, capabilities2);
|
|
117
|
-
resolve(capabilities2);
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
var createWmtsLayer = (serverUrl) => (config) => __async(void 0, null, function* () {
|
|
123
|
-
const { style, format, version, layerName, matrixSet } = config;
|
|
124
|
-
const [workspace, datastore] = layerName.split(":");
|
|
125
|
-
const capabilitiesUrl = `${serverUrl}/${workspace}/${datastore}/gwc/service/wmts?request=GetCapabilities`;
|
|
126
|
-
return new Promise((resolve, reject) => {
|
|
127
|
-
getCapabilities(capabilitiesUrl).then((data) => {
|
|
128
|
-
const options = (0, import_WMTS.optionsFromCapabilities)(data, {
|
|
129
|
-
Style: style || "",
|
|
130
|
-
layer: datastore,
|
|
131
|
-
version: version || "1.1.0",
|
|
132
|
-
format: format || "image/png",
|
|
133
|
-
matrixSet: matrixSet || "EPSG:4326"
|
|
134
|
-
});
|
|
135
|
-
if (options) {
|
|
136
|
-
resolve(
|
|
137
|
-
new import_Tile.default({
|
|
138
|
-
zIndex: 3,
|
|
139
|
-
className: layerName,
|
|
140
|
-
source: new import_source.WMTS(options)
|
|
141
|
-
})
|
|
142
|
-
);
|
|
143
|
-
} else {
|
|
144
|
-
reject(new Error("Unable to create TileLayer"));
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
|
|
150
|
-
// src/base-layer.ts
|
|
151
|
-
var import_source2 = require("ol/source");
|
|
152
|
-
var import_source3 = require("ol/source");
|
|
153
|
-
var import_tilegrid = require("ol/tilegrid");
|
|
154
|
-
var import_layer = require("ol/layer");
|
|
155
|
-
|
|
156
102
|
// src/create-map.ts
|
|
157
103
|
var import_Map = __toESM(require("ol/Map"), 1);
|
|
158
104
|
var import_View = __toESM(require("ol/View"), 1);
|
|
@@ -161,25 +107,7 @@ var import_control = require("ol/control");
|
|
|
161
107
|
// src/layer-utils.ts
|
|
162
108
|
var import_gcoord = __toESM(require("gcoord"), 1);
|
|
163
109
|
var import_geom = require("ol/geom");
|
|
164
|
-
|
|
165
|
-
// src/helper.ts
|
|
166
|
-
var hexToRgba = (hex, alpha) => {
|
|
167
|
-
if (hex.startsWith("#")) {
|
|
168
|
-
let tempHex = hex.replace("#", "");
|
|
169
|
-
if (tempHex.length === 3) {
|
|
170
|
-
tempHex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
|
|
171
|
-
}
|
|
172
|
-
const r = parseInt(tempHex.substring(0, 2), 16);
|
|
173
|
-
const g = parseInt(tempHex.substring(2, 4), 16);
|
|
174
|
-
const b = parseInt(tempHex.substring(4, 6), 16);
|
|
175
|
-
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
176
|
-
} else {
|
|
177
|
-
return hex;
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
// src/layer-utils.ts
|
|
182
|
-
var import_format2 = require("ol/format");
|
|
110
|
+
var import_format = require("ol/format");
|
|
183
111
|
var import_ol = require("ol");
|
|
184
112
|
var import_interaction = require("ol/interaction");
|
|
185
113
|
var import_Vector = __toESM(require("ol/layer/Vector"), 1);
|
|
@@ -275,7 +203,7 @@ var createBusinessLayer = (dataList, config) => {
|
|
|
275
203
|
zIndex: 5,
|
|
276
204
|
className: layerName ? layerName : "ol-layer",
|
|
277
205
|
source: new import_Vector2.default({
|
|
278
|
-
features: new
|
|
206
|
+
features: new import_format.GeoJSON().readFeatures(geoJson).map((feature) => {
|
|
279
207
|
feature.setStyle(createVectorStyle(feature.getProperties(), config));
|
|
280
208
|
return feature;
|
|
281
209
|
})
|
|
@@ -536,80 +464,19 @@ var updateMarksLayersByStatus = (checkedStatusList = []) => {
|
|
|
536
464
|
|
|
537
465
|
// src/create-map.ts
|
|
538
466
|
var import_interaction2 = require("ol/interaction");
|
|
539
|
-
var instance;
|
|
540
|
-
var mapCenter = [119.71512016971076, 30.122490541963536];
|
|
541
|
-
var createMapInstance = (config = {}) => {
|
|
542
|
-
const innerConfig = Object.assign(
|
|
543
|
-
{
|
|
544
|
-
zoom: 9.4,
|
|
545
|
-
maxZoom: 18,
|
|
546
|
-
minZoom: 9.4,
|
|
547
|
-
center: mapCenter,
|
|
548
|
-
baseLayer: "vec-layer",
|
|
549
|
-
projection: "EPSG:4326",
|
|
550
|
-
layers: [createBaseLayer()],
|
|
551
|
-
smoothExtentConstraint: false,
|
|
552
|
-
tk: "c77eddc667c5bed016fded560baf93e7"
|
|
553
|
-
},
|
|
554
|
-
config || {}
|
|
555
|
-
);
|
|
556
|
-
if (instance) {
|
|
557
|
-
return instance;
|
|
558
|
-
}
|
|
559
|
-
instance = new import_Map.default({
|
|
560
|
-
view: new import_View.default(innerConfig),
|
|
561
|
-
controls: (0, import_control.defaults)({
|
|
562
|
-
zoom: false,
|
|
563
|
-
rotate: false,
|
|
564
|
-
attribution: false
|
|
565
|
-
}),
|
|
566
|
-
interactions: (0, import_interaction2.defaults)({
|
|
567
|
-
doubleClickZoom: false
|
|
568
|
-
}),
|
|
569
|
-
layers: innerConfig.layers || [createBaseLayer()]
|
|
570
|
-
});
|
|
571
|
-
mapCenter = innerConfig.center || mapCenter;
|
|
572
|
-
instance.activeBaseLayer = innerConfig.baseLayer;
|
|
573
|
-
instance.getLayerByName = getLayerByName;
|
|
574
|
-
instance.removeLayerByName = removeLayerByName;
|
|
575
|
-
instance.changeLayersByNames = changeLayersByNames;
|
|
576
|
-
instance.on("pointermove", (evt) => {
|
|
577
|
-
instance.getTargetElement().style.cursor = instance.hasFeatureAtPixel(
|
|
578
|
-
evt.pixel
|
|
579
|
-
) ? "pointer" : "";
|
|
580
|
-
});
|
|
581
|
-
return instance;
|
|
582
|
-
};
|
|
583
|
-
var disposeMap = () => {
|
|
584
|
-
const layers = instance.getAllLayers();
|
|
585
|
-
layers.forEach((layer) => {
|
|
586
|
-
instance.removeLayer(layer);
|
|
587
|
-
});
|
|
588
|
-
instance.setTarget("");
|
|
589
|
-
instance = void 0;
|
|
590
|
-
};
|
|
591
|
-
var getMapInstance = () => instance;
|
|
592
|
-
var resetZoomAndCenter = (center = mapCenter) => {
|
|
593
|
-
const view = instance.getView();
|
|
594
|
-
view.animate({
|
|
595
|
-
zoom: 9.4,
|
|
596
|
-
center,
|
|
597
|
-
duration: 1e3
|
|
598
|
-
});
|
|
599
|
-
};
|
|
600
|
-
var resetMap = (config = { center: mapCenter, isClearAll: true }) => {
|
|
601
|
-
removeAllLayers(config.isClearAll);
|
|
602
|
-
resetZoomAndCenter(config.center || mapCenter);
|
|
603
|
-
};
|
|
604
467
|
|
|
605
468
|
// src/base-layer.ts
|
|
606
|
-
var
|
|
469
|
+
var import_source = require("ol/source");
|
|
470
|
+
var import_source2 = require("ol/source");
|
|
471
|
+
var import_tilegrid = require("ol/tilegrid");
|
|
472
|
+
var import_layer = require("ol/layer");
|
|
473
|
+
var import_WMTS = __toESM(require("ol/tilegrid/WMTS"), 1);
|
|
607
474
|
var createBaseLayer = (isDark = true) => {
|
|
608
475
|
return new import_layer.Tile({
|
|
609
476
|
zIndex: -1,
|
|
610
477
|
minZoom: 8,
|
|
611
478
|
maxZoom: 21,
|
|
612
|
-
source: new
|
|
479
|
+
source: new import_source.XYZ({
|
|
613
480
|
tileGrid: new import_tilegrid.TileGrid({
|
|
614
481
|
tileSize: 256,
|
|
615
482
|
resolutions: [
|
|
@@ -660,7 +527,7 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
|
|
|
660
527
|
return new import_layer.Tile({
|
|
661
528
|
cacheSize: 20240,
|
|
662
529
|
zIndex: -1,
|
|
663
|
-
source: new
|
|
530
|
+
source: new import_source2.WMTS({
|
|
664
531
|
crossOrigin: "anonymous",
|
|
665
532
|
projection: "EPSG:4326",
|
|
666
533
|
wrapX: true,
|
|
@@ -669,7 +536,7 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
|
|
|
669
536
|
version: "1.0.0",
|
|
670
537
|
format: "image/png",
|
|
671
538
|
matrixSet,
|
|
672
|
-
tileGrid: new
|
|
539
|
+
tileGrid: new import_WMTS.default({
|
|
673
540
|
origin: [-180, 90],
|
|
674
541
|
matrixIds: [
|
|
675
542
|
"1",
|
|
@@ -735,6 +602,142 @@ var changeLayersByNames = (activeNames, allLayerNames) => {
|
|
|
735
602
|
layer.setVisible(activeNames == null ? void 0 : activeNames.includes(layer.getClassName()));
|
|
736
603
|
});
|
|
737
604
|
};
|
|
605
|
+
|
|
606
|
+
// src/create-map.ts
|
|
607
|
+
var instance;
|
|
608
|
+
var mapCenter = [119.71512016971076, 30.122490541963536];
|
|
609
|
+
var createMapInstance = (config = {}) => {
|
|
610
|
+
const innerConfig = Object.assign(
|
|
611
|
+
{
|
|
612
|
+
zoom: 9.4,
|
|
613
|
+
maxZoom: 18,
|
|
614
|
+
minZoom: 9.4,
|
|
615
|
+
center: mapCenter,
|
|
616
|
+
baseLayer: "vec-layer",
|
|
617
|
+
projection: "EPSG:4326",
|
|
618
|
+
layers: [createBaseLayer()],
|
|
619
|
+
smoothExtentConstraint: false,
|
|
620
|
+
tk: "c77eddc667c5bed016fded560baf93e7"
|
|
621
|
+
},
|
|
622
|
+
config || {}
|
|
623
|
+
);
|
|
624
|
+
if (instance) {
|
|
625
|
+
return instance;
|
|
626
|
+
}
|
|
627
|
+
instance = new import_Map.default({
|
|
628
|
+
view: new import_View.default(innerConfig),
|
|
629
|
+
controls: (0, import_control.defaults)({
|
|
630
|
+
zoom: false,
|
|
631
|
+
rotate: false,
|
|
632
|
+
attribution: false
|
|
633
|
+
}),
|
|
634
|
+
interactions: (0, import_interaction2.defaults)({
|
|
635
|
+
doubleClickZoom: false
|
|
636
|
+
}),
|
|
637
|
+
layers: innerConfig.layers || [createBaseLayer()]
|
|
638
|
+
});
|
|
639
|
+
mapCenter = innerConfig.center || mapCenter;
|
|
640
|
+
instance.activeBaseLayer = innerConfig.baseLayer;
|
|
641
|
+
instance.getLayerByName = getLayerByName;
|
|
642
|
+
instance.removeLayerByName = removeLayerByName;
|
|
643
|
+
instance.changeLayersByNames = changeLayersByNames;
|
|
644
|
+
instance.on("pointermove", (evt) => {
|
|
645
|
+
instance.getTargetElement().style.cursor = instance.hasFeatureAtPixel(
|
|
646
|
+
evt.pixel
|
|
647
|
+
) ? "pointer" : "";
|
|
648
|
+
});
|
|
649
|
+
return instance;
|
|
650
|
+
};
|
|
651
|
+
var disposeMap = () => {
|
|
652
|
+
const layers = instance.getAllLayers();
|
|
653
|
+
layers.forEach((layer) => {
|
|
654
|
+
instance.removeLayer(layer);
|
|
655
|
+
});
|
|
656
|
+
instance.setTarget("");
|
|
657
|
+
instance = void 0;
|
|
658
|
+
};
|
|
659
|
+
var getMapInstance = () => instance;
|
|
660
|
+
var resetZoomAndCenter = (center = mapCenter) => {
|
|
661
|
+
const view = instance.getView();
|
|
662
|
+
view.animate({
|
|
663
|
+
zoom: 9.4,
|
|
664
|
+
center,
|
|
665
|
+
duration: 1e3
|
|
666
|
+
});
|
|
667
|
+
};
|
|
668
|
+
var resetMap = (config = { center: mapCenter, isClearAll: true }) => {
|
|
669
|
+
removeAllLayers(config.isClearAll);
|
|
670
|
+
resetZoomAndCenter(config.center || mapCenter);
|
|
671
|
+
};
|
|
672
|
+
|
|
673
|
+
// src/helper.ts
|
|
674
|
+
var hexToRgba = (hex, alpha) => {
|
|
675
|
+
if (hex.startsWith("#")) {
|
|
676
|
+
let tempHex = hex.replace("#", "");
|
|
677
|
+
if (tempHex.length === 3) {
|
|
678
|
+
tempHex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
|
|
679
|
+
}
|
|
680
|
+
const r = parseInt(tempHex.substring(0, 2), 16);
|
|
681
|
+
const g = parseInt(tempHex.substring(2, 4), 16);
|
|
682
|
+
const b = parseInt(tempHex.substring(4, 6), 16);
|
|
683
|
+
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
684
|
+
} else {
|
|
685
|
+
return hex;
|
|
686
|
+
}
|
|
687
|
+
};
|
|
688
|
+
var getLayersDataList = () => {
|
|
689
|
+
var _a;
|
|
690
|
+
return ((_a = instance) == null ? void 0 : _a.getAllLayers().map((layer) => layer.get("_dataList") || []).flat(2)) || [];
|
|
691
|
+
};
|
|
692
|
+
|
|
693
|
+
// src/ogc-utils.ts
|
|
694
|
+
var import_source3 = require("ol/source");
|
|
695
|
+
var import_Tile = __toESM(require("ol/layer/Tile"), 1);
|
|
696
|
+
var import_format2 = require("ol/format");
|
|
697
|
+
var import_WMTS2 = require("ol/source/WMTS");
|
|
698
|
+
var parser = new import_format2.WMTSCapabilities();
|
|
699
|
+
var capabilitiesMap = /* @__PURE__ */ new Map();
|
|
700
|
+
var getCapabilities = (url) => {
|
|
701
|
+
return new Promise((resolve) => {
|
|
702
|
+
const capabilities = capabilitiesMap.get(url);
|
|
703
|
+
if (capabilities) {
|
|
704
|
+
resolve(capabilities);
|
|
705
|
+
} else {
|
|
706
|
+
fetch(url).then((data) => data.text()).then((text) => {
|
|
707
|
+
const capabilities2 = parser.read(text);
|
|
708
|
+
capabilitiesMap.set(url, capabilities2);
|
|
709
|
+
resolve(capabilities2);
|
|
710
|
+
});
|
|
711
|
+
}
|
|
712
|
+
});
|
|
713
|
+
};
|
|
714
|
+
var createWmtsLayer = (serverUrl) => (config) => __async(void 0, null, function* () {
|
|
715
|
+
const { style, format, version, layerName, matrixSet } = config;
|
|
716
|
+
const [workspace, datastore] = layerName.split(":");
|
|
717
|
+
const capabilitiesUrl = `${serverUrl}/${workspace}/${datastore}/gwc/service/wmts?request=GetCapabilities`;
|
|
718
|
+
return new Promise((resolve, reject) => {
|
|
719
|
+
getCapabilities(capabilitiesUrl).then((data) => {
|
|
720
|
+
const options = (0, import_WMTS2.optionsFromCapabilities)(data, {
|
|
721
|
+
Style: style || "",
|
|
722
|
+
layer: datastore,
|
|
723
|
+
version: version || "1.1.0",
|
|
724
|
+
format: format || "image/png",
|
|
725
|
+
matrixSet: matrixSet || "EPSG:4326"
|
|
726
|
+
});
|
|
727
|
+
if (options) {
|
|
728
|
+
resolve(
|
|
729
|
+
new import_Tile.default({
|
|
730
|
+
zIndex: 3,
|
|
731
|
+
className: layerName,
|
|
732
|
+
source: new import_source3.WMTS(options)
|
|
733
|
+
})
|
|
734
|
+
);
|
|
735
|
+
} else {
|
|
736
|
+
reject(new Error("Unable to create TileLayer"));
|
|
737
|
+
}
|
|
738
|
+
});
|
|
739
|
+
});
|
|
740
|
+
});
|
|
738
741
|
// Annotate the CommonJS export names for ESM import in node:
|
|
739
742
|
0 && (module.exports = {
|
|
740
743
|
activeMarkerByUid,
|
|
@@ -752,6 +755,7 @@ var changeLayersByNames = (activeNames, allLayerNames) => {
|
|
|
752
755
|
createWmtsLayer,
|
|
753
756
|
disposeMap,
|
|
754
757
|
emitter,
|
|
758
|
+
getLayersDataList,
|
|
755
759
|
getMapInstance,
|
|
756
760
|
instance,
|
|
757
761
|
removeAllLayers,
|
package/dist/index.d.cts
CHANGED
|
@@ -74,6 +74,8 @@ type WmtsSourceOptions = {
|
|
|
74
74
|
|
|
75
75
|
declare const emitter: Emitter<Record<EventType, any>>;
|
|
76
76
|
|
|
77
|
+
declare const getLayersDataList: () => any[];
|
|
78
|
+
|
|
77
79
|
/**
|
|
78
80
|
* 创建WMTS图层
|
|
79
81
|
* @param serverUrl
|
|
@@ -160,4 +162,4 @@ declare const addMassMarksLayer: (getImgUrlFn: GetImgUrlFn) => (dataList: never[
|
|
|
160
162
|
*/
|
|
161
163
|
declare const updateMarksLayersByStatus: (checkedStatusList?: string[]) => void;
|
|
162
164
|
|
|
163
|
-
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, activeMarkerByUid, addMassMarksLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getMapInstance, instance, removeAllLayers, resetActiveMarker, resetActiveVector, resetMap, resetZoomAndCenter, updateMarksLayersByStatus };
|
|
165
|
+
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, activeMarkerByUid, addMassMarksLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getLayersDataList, getMapInstance, instance, removeAllLayers, resetActiveMarker, resetActiveVector, resetMap, resetZoomAndCenter, updateMarksLayersByStatus };
|
package/dist/index.d.ts
CHANGED
|
@@ -74,6 +74,8 @@ type WmtsSourceOptions = {
|
|
|
74
74
|
|
|
75
75
|
declare const emitter: Emitter<Record<EventType, any>>;
|
|
76
76
|
|
|
77
|
+
declare const getLayersDataList: () => any[];
|
|
78
|
+
|
|
77
79
|
/**
|
|
78
80
|
* 创建WMTS图层
|
|
79
81
|
* @param serverUrl
|
|
@@ -160,4 +162,4 @@ declare const addMassMarksLayer: (getImgUrlFn: GetImgUrlFn) => (dataList: never[
|
|
|
160
162
|
*/
|
|
161
163
|
declare const updateMarksLayersByStatus: (checkedStatusList?: string[]) => void;
|
|
162
164
|
|
|
163
|
-
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, activeMarkerByUid, addMassMarksLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getMapInstance, instance, removeAllLayers, resetActiveMarker, resetActiveVector, resetMap, resetZoomAndCenter, updateMarksLayersByStatus };
|
|
165
|
+
export { type CustomMap, type GetImgUrl, type GetImgUrlFn, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, activeMarkerByUid, addMassMarksLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createMapInstance, createMapWorldLayer, createMassMarksLayer, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getLayersDataList, getMapInstance, instance, removeAllLayers, resetActiveMarker, resetActiveVector, resetMap, resetZoomAndCenter, updateMarksLayersByStatus };
|
package/dist/index.js
CHANGED
|
@@ -43,61 +43,6 @@ import mitt from "mitt";
|
|
|
43
43
|
var emitter = mitt();
|
|
44
44
|
var emitter_default = emitter;
|
|
45
45
|
|
|
46
|
-
// src/ogc-utils.ts
|
|
47
|
-
import { WMTS } from "ol/source";
|
|
48
|
-
import TileLayer from "ol/layer/Tile";
|
|
49
|
-
import { WMTSCapabilities } from "ol/format";
|
|
50
|
-
import { optionsFromCapabilities } from "ol/source/WMTS";
|
|
51
|
-
var parser = new WMTSCapabilities();
|
|
52
|
-
var capabilitiesMap = /* @__PURE__ */ new Map();
|
|
53
|
-
var getCapabilities = (url) => {
|
|
54
|
-
return new Promise((resolve) => {
|
|
55
|
-
const capabilities = capabilitiesMap.get(url);
|
|
56
|
-
if (capabilities) {
|
|
57
|
-
resolve(capabilities);
|
|
58
|
-
} else {
|
|
59
|
-
fetch(url).then((data) => data.text()).then((text) => {
|
|
60
|
-
const capabilities2 = parser.read(text);
|
|
61
|
-
capabilitiesMap.set(url, capabilities2);
|
|
62
|
-
resolve(capabilities2);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
var createWmtsLayer = (serverUrl) => (config) => __async(void 0, null, function* () {
|
|
68
|
-
const { style, format, version, layerName, matrixSet } = config;
|
|
69
|
-
const [workspace, datastore] = layerName.split(":");
|
|
70
|
-
const capabilitiesUrl = `${serverUrl}/${workspace}/${datastore}/gwc/service/wmts?request=GetCapabilities`;
|
|
71
|
-
return new Promise((resolve, reject) => {
|
|
72
|
-
getCapabilities(capabilitiesUrl).then((data) => {
|
|
73
|
-
const options = optionsFromCapabilities(data, {
|
|
74
|
-
Style: style || "",
|
|
75
|
-
layer: datastore,
|
|
76
|
-
version: version || "1.1.0",
|
|
77
|
-
format: format || "image/png",
|
|
78
|
-
matrixSet: matrixSet || "EPSG:4326"
|
|
79
|
-
});
|
|
80
|
-
if (options) {
|
|
81
|
-
resolve(
|
|
82
|
-
new TileLayer({
|
|
83
|
-
zIndex: 3,
|
|
84
|
-
className: layerName,
|
|
85
|
-
source: new WMTS(options)
|
|
86
|
-
})
|
|
87
|
-
);
|
|
88
|
-
} else {
|
|
89
|
-
reject(new Error("Unable to create TileLayer"));
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
// src/base-layer.ts
|
|
96
|
-
import { XYZ } from "ol/source";
|
|
97
|
-
import { WMTS as WMTS2 } from "ol/source";
|
|
98
|
-
import { TileGrid } from "ol/tilegrid";
|
|
99
|
-
import { Tile } from "ol/layer";
|
|
100
|
-
|
|
101
46
|
// src/create-map.ts
|
|
102
47
|
import Map2 from "ol/Map";
|
|
103
48
|
import View from "ol/View";
|
|
@@ -106,24 +51,6 @@ import { defaults } from "ol/control";
|
|
|
106
51
|
// src/layer-utils.ts
|
|
107
52
|
import gcoord from "gcoord";
|
|
108
53
|
import { Point } from "ol/geom";
|
|
109
|
-
|
|
110
|
-
// src/helper.ts
|
|
111
|
-
var hexToRgba = (hex, alpha) => {
|
|
112
|
-
if (hex.startsWith("#")) {
|
|
113
|
-
let tempHex = hex.replace("#", "");
|
|
114
|
-
if (tempHex.length === 3) {
|
|
115
|
-
tempHex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
|
|
116
|
-
}
|
|
117
|
-
const r = parseInt(tempHex.substring(0, 2), 16);
|
|
118
|
-
const g = parseInt(tempHex.substring(2, 4), 16);
|
|
119
|
-
const b = parseInt(tempHex.substring(4, 6), 16);
|
|
120
|
-
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
121
|
-
} else {
|
|
122
|
-
return hex;
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
// src/layer-utils.ts
|
|
127
54
|
import { GeoJSON } from "ol/format";
|
|
128
55
|
import { Feature, Overlay } from "ol";
|
|
129
56
|
import { Select } from "ol/interaction";
|
|
@@ -481,73 +408,12 @@ var updateMarksLayersByStatus = (checkedStatusList = []) => {
|
|
|
481
408
|
|
|
482
409
|
// src/create-map.ts
|
|
483
410
|
import { defaults as interactionDefaults } from "ol/interaction";
|
|
484
|
-
var instance;
|
|
485
|
-
var mapCenter = [119.71512016971076, 30.122490541963536];
|
|
486
|
-
var createMapInstance = (config = {}) => {
|
|
487
|
-
const innerConfig = Object.assign(
|
|
488
|
-
{
|
|
489
|
-
zoom: 9.4,
|
|
490
|
-
maxZoom: 18,
|
|
491
|
-
minZoom: 9.4,
|
|
492
|
-
center: mapCenter,
|
|
493
|
-
baseLayer: "vec-layer",
|
|
494
|
-
projection: "EPSG:4326",
|
|
495
|
-
layers: [createBaseLayer()],
|
|
496
|
-
smoothExtentConstraint: false,
|
|
497
|
-
tk: "c77eddc667c5bed016fded560baf93e7"
|
|
498
|
-
},
|
|
499
|
-
config || {}
|
|
500
|
-
);
|
|
501
|
-
if (instance) {
|
|
502
|
-
return instance;
|
|
503
|
-
}
|
|
504
|
-
instance = new Map2({
|
|
505
|
-
view: new View(innerConfig),
|
|
506
|
-
controls: defaults({
|
|
507
|
-
zoom: false,
|
|
508
|
-
rotate: false,
|
|
509
|
-
attribution: false
|
|
510
|
-
}),
|
|
511
|
-
interactions: interactionDefaults({
|
|
512
|
-
doubleClickZoom: false
|
|
513
|
-
}),
|
|
514
|
-
layers: innerConfig.layers || [createBaseLayer()]
|
|
515
|
-
});
|
|
516
|
-
mapCenter = innerConfig.center || mapCenter;
|
|
517
|
-
instance.activeBaseLayer = innerConfig.baseLayer;
|
|
518
|
-
instance.getLayerByName = getLayerByName;
|
|
519
|
-
instance.removeLayerByName = removeLayerByName;
|
|
520
|
-
instance.changeLayersByNames = changeLayersByNames;
|
|
521
|
-
instance.on("pointermove", (evt) => {
|
|
522
|
-
instance.getTargetElement().style.cursor = instance.hasFeatureAtPixel(
|
|
523
|
-
evt.pixel
|
|
524
|
-
) ? "pointer" : "";
|
|
525
|
-
});
|
|
526
|
-
return instance;
|
|
527
|
-
};
|
|
528
|
-
var disposeMap = () => {
|
|
529
|
-
const layers = instance.getAllLayers();
|
|
530
|
-
layers.forEach((layer) => {
|
|
531
|
-
instance.removeLayer(layer);
|
|
532
|
-
});
|
|
533
|
-
instance.setTarget("");
|
|
534
|
-
instance = void 0;
|
|
535
|
-
};
|
|
536
|
-
var getMapInstance = () => instance;
|
|
537
|
-
var resetZoomAndCenter = (center = mapCenter) => {
|
|
538
|
-
const view = instance.getView();
|
|
539
|
-
view.animate({
|
|
540
|
-
zoom: 9.4,
|
|
541
|
-
center,
|
|
542
|
-
duration: 1e3
|
|
543
|
-
});
|
|
544
|
-
};
|
|
545
|
-
var resetMap = (config = { center: mapCenter, isClearAll: true }) => {
|
|
546
|
-
removeAllLayers(config.isClearAll);
|
|
547
|
-
resetZoomAndCenter(config.center || mapCenter);
|
|
548
|
-
};
|
|
549
411
|
|
|
550
412
|
// src/base-layer.ts
|
|
413
|
+
import { XYZ } from "ol/source";
|
|
414
|
+
import { WMTS } from "ol/source";
|
|
415
|
+
import { TileGrid } from "ol/tilegrid";
|
|
416
|
+
import { Tile } from "ol/layer";
|
|
551
417
|
import WMTSTileGrid from "ol/tilegrid/WMTS";
|
|
552
418
|
var createBaseLayer = (isDark = true) => {
|
|
553
419
|
return new Tile({
|
|
@@ -605,7 +471,7 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
|
|
|
605
471
|
return new Tile({
|
|
606
472
|
cacheSize: 20240,
|
|
607
473
|
zIndex: -1,
|
|
608
|
-
source: new
|
|
474
|
+
source: new WMTS({
|
|
609
475
|
crossOrigin: "anonymous",
|
|
610
476
|
projection: "EPSG:4326",
|
|
611
477
|
wrapX: true,
|
|
@@ -680,6 +546,142 @@ var changeLayersByNames = (activeNames, allLayerNames) => {
|
|
|
680
546
|
layer.setVisible(activeNames == null ? void 0 : activeNames.includes(layer.getClassName()));
|
|
681
547
|
});
|
|
682
548
|
};
|
|
549
|
+
|
|
550
|
+
// src/create-map.ts
|
|
551
|
+
var instance;
|
|
552
|
+
var mapCenter = [119.71512016971076, 30.122490541963536];
|
|
553
|
+
var createMapInstance = (config = {}) => {
|
|
554
|
+
const innerConfig = Object.assign(
|
|
555
|
+
{
|
|
556
|
+
zoom: 9.4,
|
|
557
|
+
maxZoom: 18,
|
|
558
|
+
minZoom: 9.4,
|
|
559
|
+
center: mapCenter,
|
|
560
|
+
baseLayer: "vec-layer",
|
|
561
|
+
projection: "EPSG:4326",
|
|
562
|
+
layers: [createBaseLayer()],
|
|
563
|
+
smoothExtentConstraint: false,
|
|
564
|
+
tk: "c77eddc667c5bed016fded560baf93e7"
|
|
565
|
+
},
|
|
566
|
+
config || {}
|
|
567
|
+
);
|
|
568
|
+
if (instance) {
|
|
569
|
+
return instance;
|
|
570
|
+
}
|
|
571
|
+
instance = new Map2({
|
|
572
|
+
view: new View(innerConfig),
|
|
573
|
+
controls: defaults({
|
|
574
|
+
zoom: false,
|
|
575
|
+
rotate: false,
|
|
576
|
+
attribution: false
|
|
577
|
+
}),
|
|
578
|
+
interactions: interactionDefaults({
|
|
579
|
+
doubleClickZoom: false
|
|
580
|
+
}),
|
|
581
|
+
layers: innerConfig.layers || [createBaseLayer()]
|
|
582
|
+
});
|
|
583
|
+
mapCenter = innerConfig.center || mapCenter;
|
|
584
|
+
instance.activeBaseLayer = innerConfig.baseLayer;
|
|
585
|
+
instance.getLayerByName = getLayerByName;
|
|
586
|
+
instance.removeLayerByName = removeLayerByName;
|
|
587
|
+
instance.changeLayersByNames = changeLayersByNames;
|
|
588
|
+
instance.on("pointermove", (evt) => {
|
|
589
|
+
instance.getTargetElement().style.cursor = instance.hasFeatureAtPixel(
|
|
590
|
+
evt.pixel
|
|
591
|
+
) ? "pointer" : "";
|
|
592
|
+
});
|
|
593
|
+
return instance;
|
|
594
|
+
};
|
|
595
|
+
var disposeMap = () => {
|
|
596
|
+
const layers = instance.getAllLayers();
|
|
597
|
+
layers.forEach((layer) => {
|
|
598
|
+
instance.removeLayer(layer);
|
|
599
|
+
});
|
|
600
|
+
instance.setTarget("");
|
|
601
|
+
instance = void 0;
|
|
602
|
+
};
|
|
603
|
+
var getMapInstance = () => instance;
|
|
604
|
+
var resetZoomAndCenter = (center = mapCenter) => {
|
|
605
|
+
const view = instance.getView();
|
|
606
|
+
view.animate({
|
|
607
|
+
zoom: 9.4,
|
|
608
|
+
center,
|
|
609
|
+
duration: 1e3
|
|
610
|
+
});
|
|
611
|
+
};
|
|
612
|
+
var resetMap = (config = { center: mapCenter, isClearAll: true }) => {
|
|
613
|
+
removeAllLayers(config.isClearAll);
|
|
614
|
+
resetZoomAndCenter(config.center || mapCenter);
|
|
615
|
+
};
|
|
616
|
+
|
|
617
|
+
// src/helper.ts
|
|
618
|
+
var hexToRgba = (hex, alpha) => {
|
|
619
|
+
if (hex.startsWith("#")) {
|
|
620
|
+
let tempHex = hex.replace("#", "");
|
|
621
|
+
if (tempHex.length === 3) {
|
|
622
|
+
tempHex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
|
|
623
|
+
}
|
|
624
|
+
const r = parseInt(tempHex.substring(0, 2), 16);
|
|
625
|
+
const g = parseInt(tempHex.substring(2, 4), 16);
|
|
626
|
+
const b = parseInt(tempHex.substring(4, 6), 16);
|
|
627
|
+
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
628
|
+
} else {
|
|
629
|
+
return hex;
|
|
630
|
+
}
|
|
631
|
+
};
|
|
632
|
+
var getLayersDataList = () => {
|
|
633
|
+
var _a;
|
|
634
|
+
return ((_a = instance) == null ? void 0 : _a.getAllLayers().map((layer) => layer.get("_dataList") || []).flat(2)) || [];
|
|
635
|
+
};
|
|
636
|
+
|
|
637
|
+
// src/ogc-utils.ts
|
|
638
|
+
import { WMTS as WMTS2 } from "ol/source";
|
|
639
|
+
import TileLayer from "ol/layer/Tile";
|
|
640
|
+
import { WMTSCapabilities } from "ol/format";
|
|
641
|
+
import { optionsFromCapabilities } from "ol/source/WMTS";
|
|
642
|
+
var parser = new WMTSCapabilities();
|
|
643
|
+
var capabilitiesMap = /* @__PURE__ */ new Map();
|
|
644
|
+
var getCapabilities = (url) => {
|
|
645
|
+
return new Promise((resolve) => {
|
|
646
|
+
const capabilities = capabilitiesMap.get(url);
|
|
647
|
+
if (capabilities) {
|
|
648
|
+
resolve(capabilities);
|
|
649
|
+
} else {
|
|
650
|
+
fetch(url).then((data) => data.text()).then((text) => {
|
|
651
|
+
const capabilities2 = parser.read(text);
|
|
652
|
+
capabilitiesMap.set(url, capabilities2);
|
|
653
|
+
resolve(capabilities2);
|
|
654
|
+
});
|
|
655
|
+
}
|
|
656
|
+
});
|
|
657
|
+
};
|
|
658
|
+
var createWmtsLayer = (serverUrl) => (config) => __async(void 0, null, function* () {
|
|
659
|
+
const { style, format, version, layerName, matrixSet } = config;
|
|
660
|
+
const [workspace, datastore] = layerName.split(":");
|
|
661
|
+
const capabilitiesUrl = `${serverUrl}/${workspace}/${datastore}/gwc/service/wmts?request=GetCapabilities`;
|
|
662
|
+
return new Promise((resolve, reject) => {
|
|
663
|
+
getCapabilities(capabilitiesUrl).then((data) => {
|
|
664
|
+
const options = optionsFromCapabilities(data, {
|
|
665
|
+
Style: style || "",
|
|
666
|
+
layer: datastore,
|
|
667
|
+
version: version || "1.1.0",
|
|
668
|
+
format: format || "image/png",
|
|
669
|
+
matrixSet: matrixSet || "EPSG:4326"
|
|
670
|
+
});
|
|
671
|
+
if (options) {
|
|
672
|
+
resolve(
|
|
673
|
+
new TileLayer({
|
|
674
|
+
zIndex: 3,
|
|
675
|
+
className: layerName,
|
|
676
|
+
source: new WMTS2(options)
|
|
677
|
+
})
|
|
678
|
+
);
|
|
679
|
+
} else {
|
|
680
|
+
reject(new Error("Unable to create TileLayer"));
|
|
681
|
+
}
|
|
682
|
+
});
|
|
683
|
+
});
|
|
684
|
+
});
|
|
683
685
|
export {
|
|
684
686
|
activeMarkerByUid,
|
|
685
687
|
addMassMarksLayer,
|
|
@@ -696,6 +698,7 @@ export {
|
|
|
696
698
|
createWmtsLayer,
|
|
697
699
|
disposeMap,
|
|
698
700
|
emitter_default as emitter,
|
|
701
|
+
getLayersDataList,
|
|
699
702
|
getMapInstance,
|
|
700
703
|
instance,
|
|
701
704
|
removeAllLayers,
|