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 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: (0, import_extent.getCenter)(feature.getGeometry().getExtent())
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: string, tk?: string) => Tile<WMTS>;
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: string, tk?: string) => Tile<WMTS>;
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: getCenter(feature.getGeometry().getExtent())
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,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "map-ol-utils",
3
- "version": "0.1.24",
3
+ "version": "0.1.26",
4
4
  "type": "module",
5
5
  "description": "Openlayers utils library",
6
6
  "files": [