map-ol-utils 0.1.20 → 0.1.22

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
@@ -700,7 +700,6 @@ var createClusterLayer = (dataList, config) => {
700
700
  };
701
701
  const vectorLayer = new import_Vector.default({
702
702
  zIndex: 200,
703
- style: (feature) => buildStyle ? buildStyle(feature) : innerBuildStyle(feature),
704
703
  source: new import_Cluster.default({
705
704
  distance: distance || 80,
706
705
  minDistance: minDistance || 0,
@@ -711,7 +710,8 @@ var createClusterLayer = (dataList, config) => {
711
710
  return feature;
712
711
  })
713
712
  })
714
- })
713
+ }),
714
+ style: (feature) => buildStyle ? buildStyle(feature) : innerBuildStyle(feature)
715
715
  });
716
716
  vectorLayer.setProperties({
717
717
  _isCustom: true,
@@ -733,8 +733,9 @@ var import_source2 = require("ol/source");
733
733
  var import_tilegrid = require("ol/tilegrid");
734
734
  var import_layer = require("ol/layer");
735
735
  var import_WMTS = __toESM(require("ol/tilegrid/WMTS"), 1);
736
+ var import_WebGLTile = __toESM(require("ol/layer/WebGLTile"), 1);
736
737
  var createBaseLayer = (layerName = "hzsyvector_dark") => {
737
- return new import_layer.Tile({
738
+ const config = {
738
739
  zIndex: -5,
739
740
  minZoom: 8,
740
741
  maxZoom: 21,
@@ -777,13 +778,19 @@ var createBaseLayer = (layerName = "hzsyvector_dark") => {
777
778
  _isBaseLayer: true,
778
779
  _layerName: layerName
779
780
  }
780
- });
781
+ };
782
+ return isWebGLSupported() ? new import_WebGLTile.default(config) : new import_layer.Tile(config);
781
783
  };
782
784
  var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") => {
783
785
  const [name, matrixSet] = layerName.split("_");
784
- return new import_layer.Tile({
786
+ const config = {
785
787
  cacheSize: 20240,
786
788
  zIndex: -10,
789
+ preload: 1,
790
+ properties: {
791
+ _isBaseLayer: true,
792
+ _layerName: layerName
793
+ },
787
794
  source: new import_source2.WMTS({
788
795
  crossOrigin: "anonymous",
789
796
  projection: "EPSG:4326",
@@ -840,12 +847,9 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
840
847
  }),
841
848
  tilePixelRatio: window.devicePixelRatio || 1,
842
849
  url: `https://t{0-7}.tianditu.gov.cn/${layerName}/wmts?tk=${tk}`
843
- }),
844
- properties: {
845
- _isBaseLayer: true,
846
- _layerName: layerName
847
- }
848
- });
850
+ })
851
+ };
852
+ return isWebGLSupported() ? new import_WebGLTile.default(config) : new import_layer.Tile(config);
849
853
  };
850
854
  var getLayerByName = (name) => instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
851
855
  var removeLayerByName = (name) => {
@@ -1019,6 +1023,10 @@ var determineGeometryType = (coordinates) => {
1019
1023
  return "Invalid" /* Invalid */;
1020
1024
  }
1021
1025
  };
1026
+ var isWebGLSupported = () => {
1027
+ const canvas = document.createElement("canvas");
1028
+ return !!canvas.getContext("webgl") || !!canvas.getContext("experimental-webgl");
1029
+ };
1022
1030
 
1023
1031
  // src/ogc-utils.ts
1024
1032
  var import_source3 = require("ol/source");
package/dist/index.d.cts CHANGED
@@ -9,6 +9,7 @@ import { FeatureLike } from 'ol/Feature';
9
9
  import { Emitter, EventType } from 'mitt';
10
10
  import TileLayer from 'ol/layer/Tile';
11
11
  import * as ol_renderer_Layer from 'ol/renderer/Layer';
12
+ import WebGLTileLayer from 'ol/layer/WebGLTile';
12
13
  import * as ol_geom from 'ol/geom';
13
14
  import { SimpleGeometry, Point } from 'ol/geom';
14
15
  import { Options } from 'ol/Overlay';
@@ -126,13 +127,13 @@ declare const createWmtsLayer: (serverUrl: string) => (config: WmtsSourceOptions
126
127
  * 创建杭州规自地图
127
128
  * @param layerName - hzsyraster hzsyvector hzsyvector_dark
128
129
  */
129
- declare const createBaseLayer: (layerName?: HzsyType) => Tile<XYZ>;
130
+ declare const createBaseLayer: (layerName?: HzsyType) => WebGLTileLayer | Tile<XYZ>;
130
131
  /**
131
132
  * 创建天地图
132
133
  * @param layerName - 图层名称
133
134
  * @param tk - 天地图TK
134
135
  */
135
- declare const createMapWorldLayer: (layerName: string, tk?: string) => Tile<WMTS>;
136
+ declare const createMapWorldLayer: (layerName: string, tk?: string) => WebGLTileLayer | Tile<WMTS>;
136
137
  /**
137
138
  * 根据图层名称获取图层
138
139
  * @param name
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ import { FeatureLike } from 'ol/Feature';
9
9
  import { Emitter, EventType } from 'mitt';
10
10
  import TileLayer from 'ol/layer/Tile';
11
11
  import * as ol_renderer_Layer from 'ol/renderer/Layer';
12
+ import WebGLTileLayer from 'ol/layer/WebGLTile';
12
13
  import * as ol_geom from 'ol/geom';
13
14
  import { SimpleGeometry, Point } from 'ol/geom';
14
15
  import { Options } from 'ol/Overlay';
@@ -126,13 +127,13 @@ declare const createWmtsLayer: (serverUrl: string) => (config: WmtsSourceOptions
126
127
  * 创建杭州规自地图
127
128
  * @param layerName - hzsyraster hzsyvector hzsyvector_dark
128
129
  */
129
- declare const createBaseLayer: (layerName?: HzsyType) => Tile<XYZ>;
130
+ declare const createBaseLayer: (layerName?: HzsyType) => WebGLTileLayer | Tile<XYZ>;
130
131
  /**
131
132
  * 创建天地图
132
133
  * @param layerName - 图层名称
133
134
  * @param tk - 天地图TK
134
135
  */
135
- declare const createMapWorldLayer: (layerName: string, tk?: string) => Tile<WMTS>;
136
+ declare const createMapWorldLayer: (layerName: string, tk?: string) => WebGLTileLayer | Tile<WMTS>;
136
137
  /**
137
138
  * 根据图层名称获取图层
138
139
  * @param name
package/dist/index.js CHANGED
@@ -639,7 +639,6 @@ var createClusterLayer = (dataList, config) => {
639
639
  };
640
640
  const vectorLayer = new VectorLayer({
641
641
  zIndex: 200,
642
- style: (feature) => buildStyle ? buildStyle(feature) : innerBuildStyle(feature),
643
642
  source: new Cluster({
644
643
  distance: distance || 80,
645
644
  minDistance: minDistance || 0,
@@ -650,7 +649,8 @@ var createClusterLayer = (dataList, config) => {
650
649
  return feature;
651
650
  })
652
651
  })
653
- })
652
+ }),
653
+ style: (feature) => buildStyle ? buildStyle(feature) : innerBuildStyle(feature)
654
654
  });
655
655
  vectorLayer.setProperties({
656
656
  _isCustom: true,
@@ -672,8 +672,9 @@ import { WMTS } from "ol/source";
672
672
  import { TileGrid } from "ol/tilegrid";
673
673
  import { Tile } from "ol/layer";
674
674
  import WMTSTileGrid from "ol/tilegrid/WMTS";
675
+ import WebGLTileLayer from "ol/layer/WebGLTile";
675
676
  var createBaseLayer = (layerName = "hzsyvector_dark") => {
676
- return new Tile({
677
+ const config = {
677
678
  zIndex: -5,
678
679
  minZoom: 8,
679
680
  maxZoom: 21,
@@ -716,13 +717,19 @@ var createBaseLayer = (layerName = "hzsyvector_dark") => {
716
717
  _isBaseLayer: true,
717
718
  _layerName: layerName
718
719
  }
719
- });
720
+ };
721
+ return isWebGLSupported() ? new WebGLTileLayer(config) : new Tile(config);
720
722
  };
721
723
  var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") => {
722
724
  const [name, matrixSet] = layerName.split("_");
723
- return new Tile({
725
+ const config = {
724
726
  cacheSize: 20240,
725
727
  zIndex: -10,
728
+ preload: 1,
729
+ properties: {
730
+ _isBaseLayer: true,
731
+ _layerName: layerName
732
+ },
726
733
  source: new WMTS({
727
734
  crossOrigin: "anonymous",
728
735
  projection: "EPSG:4326",
@@ -779,12 +786,9 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
779
786
  }),
780
787
  tilePixelRatio: window.devicePixelRatio || 1,
781
788
  url: `https://t{0-7}.tianditu.gov.cn/${layerName}/wmts?tk=${tk}`
782
- }),
783
- properties: {
784
- _isBaseLayer: true,
785
- _layerName: layerName
786
- }
787
- });
789
+ })
790
+ };
791
+ return isWebGLSupported() ? new WebGLTileLayer(config) : new Tile(config);
788
792
  };
789
793
  var getLayerByName = (name) => instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
790
794
  var removeLayerByName = (name) => {
@@ -958,6 +962,10 @@ var determineGeometryType = (coordinates) => {
958
962
  return "Invalid" /* Invalid */;
959
963
  }
960
964
  };
965
+ var isWebGLSupported = () => {
966
+ const canvas = document.createElement("canvas");
967
+ return !!canvas.getContext("webgl") || !!canvas.getContext("experimental-webgl");
968
+ };
961
969
 
962
970
  // src/ogc-utils.ts
963
971
  import { WMTS as WMTS2 } from "ol/source";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "map-ol-utils",
3
- "version": "0.1.20",
3
+ "version": "0.1.22",
4
4
  "type": "module",
5
5
  "description": "Openlayers utils library",
6
6
  "files": [