map-ol-utils 0.1.24 → 0.1.26
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 +24 -3
- package/dist/index.d.cts +13 -4
- package/dist/index.d.ts +13 -4
- package/dist/index.js +23 -3
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -85,6 +85,7 @@ __export(index_exports, {
|
|
|
85
85
|
createVectorFaceLayer: () => createVectorFaceLayer,
|
|
86
86
|
createVectorLineLayer: () => createVectorLineLayer,
|
|
87
87
|
createWmtsLayer: () => createWmtsLayer,
|
|
88
|
+
createZheJiangLayer: () => createZheJiangLayer,
|
|
88
89
|
disposeMap: () => disposeMap,
|
|
89
90
|
emitter: () => emitter_default,
|
|
90
91
|
getLayerByName: () => getLayerByName,
|
|
@@ -454,11 +455,13 @@ var selectEventHandle = (vectorLayer, feature) => {
|
|
|
454
455
|
}
|
|
455
456
|
const isAutoFit = vectorLayer.get("_isAutoFit");
|
|
456
457
|
if (isAutoFit) {
|
|
458
|
+
const [x, y] = (0, import_extent.getCenter)(feature.getGeometry().getExtent());
|
|
459
|
+
const [offsetX, offsetY] = vectorLayer.get("_offset") || [0, 0];
|
|
457
460
|
const view = instance.getView();
|
|
458
461
|
view.animate({
|
|
459
462
|
duration: 1e3,
|
|
460
463
|
zoom: view.getZoom(),
|
|
461
|
-
center:
|
|
464
|
+
center: [x + offsetX, y + offsetY]
|
|
462
465
|
});
|
|
463
466
|
}
|
|
464
467
|
};
|
|
@@ -544,6 +547,7 @@ var createMassMarksLayer = (dataList, styleList = []) => {
|
|
|
544
547
|
var addMassMarksLayer = (getImgUrlFn) => {
|
|
545
548
|
return (dataList = [], iconConfig, openClick = true) => {
|
|
546
549
|
const {
|
|
550
|
+
offset = [0, 0],
|
|
547
551
|
baseUrl,
|
|
548
552
|
hasLine,
|
|
549
553
|
hasFace,
|
|
@@ -567,6 +571,7 @@ var addMassMarksLayer = (getImgUrlFn) => {
|
|
|
567
571
|
const massMarksLayer = createMassMarksLayer(dataList, massMarksStyles);
|
|
568
572
|
if (openClick) {
|
|
569
573
|
massMarksLayer.setProperties({
|
|
574
|
+
_offset: offset,
|
|
570
575
|
_isAutoFit: isAutoFit
|
|
571
576
|
});
|
|
572
577
|
createSelectByLayer(massMarksLayer);
|
|
@@ -785,9 +790,9 @@ var createBaseLayer = (layerName = "hzsyvector_dark") => {
|
|
|
785
790
|
var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") => {
|
|
786
791
|
const [name, matrixSet] = layerName.split("_");
|
|
787
792
|
const config = {
|
|
788
|
-
cacheSize: 20240,
|
|
789
|
-
zIndex: -10,
|
|
790
793
|
preload: 1,
|
|
794
|
+
zIndex: -10,
|
|
795
|
+
cacheSize: 20240,
|
|
791
796
|
properties: {
|
|
792
797
|
_isBaseLayer: true,
|
|
793
798
|
_layerName: layerName
|
|
@@ -852,6 +857,21 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
|
|
|
852
857
|
};
|
|
853
858
|
return new import_layer.Tile(config);
|
|
854
859
|
};
|
|
860
|
+
var createZheJiangLayer = (layerName = "emap", tk = "3b0cdd02-c366-4363-b6de-081a9f12b364") => {
|
|
861
|
+
return new import_layer.Tile({
|
|
862
|
+
preload: 1,
|
|
863
|
+
minZoom: 4,
|
|
864
|
+
maxZoom: 20,
|
|
865
|
+
zIndex: -10,
|
|
866
|
+
cacheSize: 20240,
|
|
867
|
+
source: new import_source.XYZ({
|
|
868
|
+
wrapX: true,
|
|
869
|
+
projection: "EPSG:4326",
|
|
870
|
+
crossOrigin: "anonymous",
|
|
871
|
+
url: `https://ditu{0-6}.zjzwfw.gov.cn/services/wmts/${layerName}/default/oss/getTile/{z}/{y}/{x}?token=${tk}`
|
|
872
|
+
})
|
|
873
|
+
});
|
|
874
|
+
};
|
|
855
875
|
var getLayerByName = (name) => instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
|
|
856
876
|
var removeLayerByName = (name) => {
|
|
857
877
|
const layer = instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
|
|
@@ -1097,6 +1117,7 @@ var createWmtsLayer = (serverUrl) => (config) => __async(null, null, function* (
|
|
|
1097
1117
|
createVectorFaceLayer,
|
|
1098
1118
|
createVectorLineLayer,
|
|
1099
1119
|
createWmtsLayer,
|
|
1120
|
+
createZheJiangLayer,
|
|
1100
1121
|
disposeMap,
|
|
1101
1122
|
emitter,
|
|
1102
1123
|
getLayerByName,
|
package/dist/index.d.cts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Layer, Tile } from 'ol/layer';
|
|
2
|
+
import { Style } from 'ol/style';
|
|
2
3
|
import { Map as Map$1, Overlay, Feature } from 'ol';
|
|
3
4
|
import { CRSTypes } from 'gcoord';
|
|
4
5
|
import * as ol_source from 'ol/source';
|
|
5
6
|
import { Source, XYZ, WMTS } from 'ol/source';
|
|
6
7
|
import { Coordinate } from 'ol/coordinate';
|
|
7
|
-
import { Style } from 'ol/style';
|
|
8
8
|
import { FeatureLike } from 'ol/Feature';
|
|
9
9
|
import { Emitter, EventType } from 'mitt';
|
|
10
10
|
import TileLayer from 'ol/layer/Tile';
|
|
@@ -79,6 +79,7 @@ type IconConfig = {
|
|
|
79
79
|
activeScale?: number;
|
|
80
80
|
isAutoFit?: boolean;
|
|
81
81
|
marksStyles?: Style[];
|
|
82
|
+
offset?: [number, number];
|
|
82
83
|
vectorConfig?: VectorConfig;
|
|
83
84
|
markerSize: [number, number];
|
|
84
85
|
};
|
|
@@ -112,6 +113,8 @@ declare enum GeometryType {
|
|
|
112
113
|
}
|
|
113
114
|
type GeometryCoordinates = Coordinate[] | Coordinate[][] | Coordinate[][][];
|
|
114
115
|
type HzsyType = 'hzsyraster' | 'hzsyvector' | 'hzsyvector_dark';
|
|
116
|
+
type ZheJiangType = 'emap' | 'emap_lab' | 'imgmap' | 'imgmap_lab';
|
|
117
|
+
type WorldLayerType = 'vec_c' | 'cva_c' | 'img_c' | 'cia_c' | 'ter_c' | 'cta_c' | 'ibo_c';
|
|
115
118
|
|
|
116
119
|
declare const emitter: Emitter<Record<EventType, any>>;
|
|
117
120
|
|
|
@@ -129,11 +132,17 @@ declare const createWmtsLayer: (serverUrl: string) => (config: WmtsSourceOptions
|
|
|
129
132
|
*/
|
|
130
133
|
declare const createBaseLayer: (layerName?: HzsyType) => WebGLTileLayer | Tile<XYZ>;
|
|
131
134
|
/**
|
|
132
|
-
*
|
|
135
|
+
* 创建全国天地图
|
|
133
136
|
* @param layerName - 图层名称
|
|
134
137
|
* @param tk - 天地图TK
|
|
135
138
|
*/
|
|
136
|
-
declare const createMapWorldLayer: (layerName:
|
|
139
|
+
declare const createMapWorldLayer: (layerName: WorldLayerType, tk?: string) => Tile<WMTS>;
|
|
140
|
+
/**
|
|
141
|
+
* 浙江省天地图
|
|
142
|
+
* @param layerName - 图层名称
|
|
143
|
+
* @param tk -
|
|
144
|
+
*/
|
|
145
|
+
declare const createZheJiangLayer: (layerName?: ZheJiangType, tk?: string) => Tile<XYZ>;
|
|
137
146
|
/**
|
|
138
147
|
* 根据图层名称获取图层
|
|
139
148
|
* @param name
|
|
@@ -253,4 +262,4 @@ declare const createOverlay: (config?: Options) => Overlay;
|
|
|
253
262
|
*/
|
|
254
263
|
declare const createClusterLayer: (dataList: ClusterData[], config: ClusterConfig) => VectorLayer<Cluster<Feature<Point>>, Feature<ol_geom.Geometry>>;
|
|
255
264
|
|
|
256
|
-
export { type ClusterConfig, type ClusterData, type CustomMap, type GeometryCoordinates, GeometryType, type GetImgUrl, type GetImgUrlFn, type HzsyType, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, activeFeatureByUid, addMassMarksLayer, appendFeaturesByLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createClusterLayer, createMap, createMapInstance, createMapWorldLayer, createMassMarksLayer, createOverlay, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getLayerByName, getLayersDataList, getMapInstance, instance, removeAllLayers, removeLayerByName, removeOverlays, resetActiveFeature, resetActiveVector, resetMap, resetZoomAndCenter, setFitViewByCoords, setFitViewByGeom, setFitViewByLayer, updateMarksLayersByStatus };
|
|
265
|
+
export { type ClusterConfig, type ClusterData, type CustomMap, type GeometryCoordinates, GeometryType, type GetImgUrl, type GetImgUrlFn, type HzsyType, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, type WorldLayerType, type ZheJiangType, activeFeatureByUid, addMassMarksLayer, appendFeaturesByLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createClusterLayer, createMap, createMapInstance, createMapWorldLayer, createMassMarksLayer, createOverlay, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, createZheJiangLayer, disposeMap, emitter, getLayerByName, getLayersDataList, getMapInstance, instance, removeAllLayers, removeLayerByName, removeOverlays, resetActiveFeature, resetActiveVector, resetMap, resetZoomAndCenter, setFitViewByCoords, setFitViewByGeom, setFitViewByLayer, updateMarksLayersByStatus };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Layer, Tile } from 'ol/layer';
|
|
2
|
+
import { Style } from 'ol/style';
|
|
2
3
|
import { Map as Map$1, Overlay, Feature } from 'ol';
|
|
3
4
|
import { CRSTypes } from 'gcoord';
|
|
4
5
|
import * as ol_source from 'ol/source';
|
|
5
6
|
import { Source, XYZ, WMTS } from 'ol/source';
|
|
6
7
|
import { Coordinate } from 'ol/coordinate';
|
|
7
|
-
import { Style } from 'ol/style';
|
|
8
8
|
import { FeatureLike } from 'ol/Feature';
|
|
9
9
|
import { Emitter, EventType } from 'mitt';
|
|
10
10
|
import TileLayer from 'ol/layer/Tile';
|
|
@@ -79,6 +79,7 @@ type IconConfig = {
|
|
|
79
79
|
activeScale?: number;
|
|
80
80
|
isAutoFit?: boolean;
|
|
81
81
|
marksStyles?: Style[];
|
|
82
|
+
offset?: [number, number];
|
|
82
83
|
vectorConfig?: VectorConfig;
|
|
83
84
|
markerSize: [number, number];
|
|
84
85
|
};
|
|
@@ -112,6 +113,8 @@ declare enum GeometryType {
|
|
|
112
113
|
}
|
|
113
114
|
type GeometryCoordinates = Coordinate[] | Coordinate[][] | Coordinate[][][];
|
|
114
115
|
type HzsyType = 'hzsyraster' | 'hzsyvector' | 'hzsyvector_dark';
|
|
116
|
+
type ZheJiangType = 'emap' | 'emap_lab' | 'imgmap' | 'imgmap_lab';
|
|
117
|
+
type WorldLayerType = 'vec_c' | 'cva_c' | 'img_c' | 'cia_c' | 'ter_c' | 'cta_c' | 'ibo_c';
|
|
115
118
|
|
|
116
119
|
declare const emitter: Emitter<Record<EventType, any>>;
|
|
117
120
|
|
|
@@ -129,11 +132,17 @@ declare const createWmtsLayer: (serverUrl: string) => (config: WmtsSourceOptions
|
|
|
129
132
|
*/
|
|
130
133
|
declare const createBaseLayer: (layerName?: HzsyType) => WebGLTileLayer | Tile<XYZ>;
|
|
131
134
|
/**
|
|
132
|
-
*
|
|
135
|
+
* 创建全国天地图
|
|
133
136
|
* @param layerName - 图层名称
|
|
134
137
|
* @param tk - 天地图TK
|
|
135
138
|
*/
|
|
136
|
-
declare const createMapWorldLayer: (layerName:
|
|
139
|
+
declare const createMapWorldLayer: (layerName: WorldLayerType, tk?: string) => Tile<WMTS>;
|
|
140
|
+
/**
|
|
141
|
+
* 浙江省天地图
|
|
142
|
+
* @param layerName - 图层名称
|
|
143
|
+
* @param tk -
|
|
144
|
+
*/
|
|
145
|
+
declare const createZheJiangLayer: (layerName?: ZheJiangType, tk?: string) => Tile<XYZ>;
|
|
137
146
|
/**
|
|
138
147
|
* 根据图层名称获取图层
|
|
139
148
|
* @param name
|
|
@@ -253,4 +262,4 @@ declare const createOverlay: (config?: Options) => Overlay;
|
|
|
253
262
|
*/
|
|
254
263
|
declare const createClusterLayer: (dataList: ClusterData[], config: ClusterConfig) => VectorLayer<Cluster<Feature<Point>>, Feature<ol_geom.Geometry>>;
|
|
255
264
|
|
|
256
|
-
export { type ClusterConfig, type ClusterData, type CustomMap, type GeometryCoordinates, GeometryType, type GetImgUrl, type GetImgUrlFn, type HzsyType, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, activeFeatureByUid, addMassMarksLayer, appendFeaturesByLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createClusterLayer, createMap, createMapInstance, createMapWorldLayer, createMassMarksLayer, createOverlay, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, disposeMap, emitter, getLayerByName, getLayersDataList, getMapInstance, instance, removeAllLayers, removeLayerByName, removeOverlays, resetActiveFeature, resetActiveVector, resetMap, resetZoomAndCenter, setFitViewByCoords, setFitViewByGeom, setFitViewByLayer, updateMarksLayersByStatus };
|
|
265
|
+
export { type ClusterConfig, type ClusterData, type CustomMap, type GeometryCoordinates, GeometryType, type GetImgUrl, type GetImgUrlFn, type HzsyType, type IconConfig, type MassData, type VectorConfig, type WmtsSourceOptions, type WorldLayerType, type ZheJiangType, activeFeatureByUid, addMassMarksLayer, appendFeaturesByLayer, buildMassMarksStyles, createAnimationMarker, createBaseLayer, createBusinessLayer, createClusterLayer, createMap, createMapInstance, createMapWorldLayer, createMassMarksLayer, createOverlay, createSelectByLayer, createVectorFaceLayer, createVectorLineLayer, createWmtsLayer, createZheJiangLayer, disposeMap, emitter, getLayerByName, getLayersDataList, getMapInstance, instance, removeAllLayers, removeLayerByName, removeOverlays, resetActiveFeature, resetActiveVector, resetMap, resetZoomAndCenter, setFitViewByCoords, setFitViewByGeom, setFitViewByLayer, updateMarksLayersByStatus };
|
package/dist/index.js
CHANGED
|
@@ -393,11 +393,13 @@ var selectEventHandle = (vectorLayer, feature) => {
|
|
|
393
393
|
}
|
|
394
394
|
const isAutoFit = vectorLayer.get("_isAutoFit");
|
|
395
395
|
if (isAutoFit) {
|
|
396
|
+
const [x, y] = getCenter(feature.getGeometry().getExtent());
|
|
397
|
+
const [offsetX, offsetY] = vectorLayer.get("_offset") || [0, 0];
|
|
396
398
|
const view = instance.getView();
|
|
397
399
|
view.animate({
|
|
398
400
|
duration: 1e3,
|
|
399
401
|
zoom: view.getZoom(),
|
|
400
|
-
center:
|
|
402
|
+
center: [x + offsetX, y + offsetY]
|
|
401
403
|
});
|
|
402
404
|
}
|
|
403
405
|
};
|
|
@@ -483,6 +485,7 @@ var createMassMarksLayer = (dataList, styleList = []) => {
|
|
|
483
485
|
var addMassMarksLayer = (getImgUrlFn) => {
|
|
484
486
|
return (dataList = [], iconConfig, openClick = true) => {
|
|
485
487
|
const {
|
|
488
|
+
offset = [0, 0],
|
|
486
489
|
baseUrl,
|
|
487
490
|
hasLine,
|
|
488
491
|
hasFace,
|
|
@@ -506,6 +509,7 @@ var addMassMarksLayer = (getImgUrlFn) => {
|
|
|
506
509
|
const massMarksLayer = createMassMarksLayer(dataList, massMarksStyles);
|
|
507
510
|
if (openClick) {
|
|
508
511
|
massMarksLayer.setProperties({
|
|
512
|
+
_offset: offset,
|
|
509
513
|
_isAutoFit: isAutoFit
|
|
510
514
|
});
|
|
511
515
|
createSelectByLayer(massMarksLayer);
|
|
@@ -724,9 +728,9 @@ var createBaseLayer = (layerName = "hzsyvector_dark") => {
|
|
|
724
728
|
var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") => {
|
|
725
729
|
const [name, matrixSet] = layerName.split("_");
|
|
726
730
|
const config = {
|
|
727
|
-
cacheSize: 20240,
|
|
728
|
-
zIndex: -10,
|
|
729
731
|
preload: 1,
|
|
732
|
+
zIndex: -10,
|
|
733
|
+
cacheSize: 20240,
|
|
730
734
|
properties: {
|
|
731
735
|
_isBaseLayer: true,
|
|
732
736
|
_layerName: layerName
|
|
@@ -791,6 +795,21 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
|
|
|
791
795
|
};
|
|
792
796
|
return new Tile(config);
|
|
793
797
|
};
|
|
798
|
+
var createZheJiangLayer = (layerName = "emap", tk = "3b0cdd02-c366-4363-b6de-081a9f12b364") => {
|
|
799
|
+
return new Tile({
|
|
800
|
+
preload: 1,
|
|
801
|
+
minZoom: 4,
|
|
802
|
+
maxZoom: 20,
|
|
803
|
+
zIndex: -10,
|
|
804
|
+
cacheSize: 20240,
|
|
805
|
+
source: new XYZ({
|
|
806
|
+
wrapX: true,
|
|
807
|
+
projection: "EPSG:4326",
|
|
808
|
+
crossOrigin: "anonymous",
|
|
809
|
+
url: `https://ditu{0-6}.zjzwfw.gov.cn/services/wmts/${layerName}/default/oss/getTile/{z}/{y}/{x}?token=${tk}`
|
|
810
|
+
})
|
|
811
|
+
});
|
|
812
|
+
};
|
|
794
813
|
var getLayerByName = (name) => instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
|
|
795
814
|
var removeLayerByName = (name) => {
|
|
796
815
|
const layer = instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
|
|
@@ -1035,6 +1054,7 @@ export {
|
|
|
1035
1054
|
createVectorFaceLayer,
|
|
1036
1055
|
createVectorLineLayer,
|
|
1037
1056
|
createWmtsLayer,
|
|
1057
|
+
createZheJiangLayer,
|
|
1038
1058
|
disposeMap,
|
|
1039
1059
|
emitter_default as emitter,
|
|
1040
1060
|
getLayerByName,
|