map-ol-utils 0.1.21 → 0.1.23

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
@@ -733,9 +733,11 @@ 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,
740
+ preload: 1,
739
741
  minZoom: 8,
740
742
  maxZoom: 21,
741
743
  source: new import_source.XYZ({
@@ -777,13 +779,19 @@ var createBaseLayer = (layerName = "hzsyvector_dark") => {
777
779
  _isBaseLayer: true,
778
780
  _layerName: layerName
779
781
  }
780
- });
782
+ };
783
+ return isWebGLSupported() ? new import_WebGLTile.default(config) : new import_layer.Tile(config);
781
784
  };
782
785
  var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") => {
783
786
  const [name, matrixSet] = layerName.split("_");
784
- return new import_layer.Tile({
787
+ const config = {
785
788
  cacheSize: 20240,
786
789
  zIndex: -10,
790
+ preload: 1,
791
+ properties: {
792
+ _isBaseLayer: true,
793
+ _layerName: layerName
794
+ },
787
795
  source: new import_source2.WMTS({
788
796
  crossOrigin: "anonymous",
789
797
  projection: "EPSG:4326",
@@ -794,6 +802,7 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
794
802
  format: "image/png",
795
803
  matrixSet,
796
804
  tileGrid: new import_WMTS.default({
805
+ tileSize: 256,
797
806
  origin: [-180, 90],
798
807
  matrixIds: [
799
808
  "1",
@@ -838,14 +847,10 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
838
847
  2682209014892578e-21
839
848
  ]
840
849
  }),
841
- tilePixelRatio: window.devicePixelRatio || 1,
842
850
  url: `https://t{0-7}.tianditu.gov.cn/${layerName}/wmts?tk=${tk}`
843
- }),
844
- properties: {
845
- _isBaseLayer: true,
846
- _layerName: layerName
847
- }
848
- });
851
+ })
852
+ };
853
+ return isWebGLSupported() ? new import_WebGLTile.default(config) : new import_layer.Tile(config);
849
854
  };
850
855
  var getLayerByName = (name) => instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
851
856
  var removeLayerByName = (name) => {
@@ -1019,6 +1024,10 @@ var determineGeometryType = (coordinates) => {
1019
1024
  return "Invalid" /* Invalid */;
1020
1025
  }
1021
1026
  };
1027
+ var isWebGLSupported = () => {
1028
+ const canvas = document.createElement("canvas");
1029
+ return !!canvas.getContext("webgl") || !!canvas.getContext("experimental-webgl");
1030
+ };
1022
1031
 
1023
1032
  // src/ogc-utils.ts
1024
1033
  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';
@@ -124,15 +125,15 @@ declare const createWmtsLayer: (serverUrl: string) => (config: WmtsSourceOptions
124
125
 
125
126
  /**
126
127
  * 创建杭州规自地图
127
- * @param layerName - hzsyraster hzsyvector hzsyvector_dark
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';
@@ -124,15 +125,15 @@ declare const createWmtsLayer: (serverUrl: string) => (config: WmtsSourceOptions
124
125
 
125
126
  /**
126
127
  * 创建杭州规自地图
127
- * @param layerName - hzsyraster hzsyvector hzsyvector_dark
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
@@ -672,9 +672,11 @@ 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,
679
+ preload: 1,
678
680
  minZoom: 8,
679
681
  maxZoom: 21,
680
682
  source: new XYZ({
@@ -716,13 +718,19 @@ var createBaseLayer = (layerName = "hzsyvector_dark") => {
716
718
  _isBaseLayer: true,
717
719
  _layerName: layerName
718
720
  }
719
- });
721
+ };
722
+ return isWebGLSupported() ? new WebGLTileLayer(config) : new Tile(config);
720
723
  };
721
724
  var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") => {
722
725
  const [name, matrixSet] = layerName.split("_");
723
- return new Tile({
726
+ const config = {
724
727
  cacheSize: 20240,
725
728
  zIndex: -10,
729
+ preload: 1,
730
+ properties: {
731
+ _isBaseLayer: true,
732
+ _layerName: layerName
733
+ },
726
734
  source: new WMTS({
727
735
  crossOrigin: "anonymous",
728
736
  projection: "EPSG:4326",
@@ -733,6 +741,7 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
733
741
  format: "image/png",
734
742
  matrixSet,
735
743
  tileGrid: new WMTSTileGrid({
744
+ tileSize: 256,
736
745
  origin: [-180, 90],
737
746
  matrixIds: [
738
747
  "1",
@@ -777,14 +786,10 @@ var createMapWorldLayer = (layerName, tk = "c77eddc667c5bed016fded560baf93e7") =
777
786
  2682209014892578e-21
778
787
  ]
779
788
  }),
780
- tilePixelRatio: window.devicePixelRatio || 1,
781
789
  url: `https://t{0-7}.tianditu.gov.cn/${layerName}/wmts?tk=${tk}`
782
- }),
783
- properties: {
784
- _isBaseLayer: true,
785
- _layerName: layerName
786
- }
787
- });
790
+ })
791
+ };
792
+ return isWebGLSupported() ? new WebGLTileLayer(config) : new Tile(config);
788
793
  };
789
794
  var getLayerByName = (name) => instance.getAllLayers().find((item) => (item.get("_layerName") || item.getClassName()) === name);
790
795
  var removeLayerByName = (name) => {
@@ -958,6 +963,10 @@ var determineGeometryType = (coordinates) => {
958
963
  return "Invalid" /* Invalid */;
959
964
  }
960
965
  };
966
+ var isWebGLSupported = () => {
967
+ const canvas = document.createElement("canvas");
968
+ return !!canvas.getContext("webgl") || !!canvas.getContext("experimental-webgl");
969
+ };
961
970
 
962
971
  // src/ogc-utils.ts
963
972
  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.21",
3
+ "version": "0.1.23",
4
4
  "type": "module",
5
5
  "description": "Openlayers utils library",
6
6
  "files": [