diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts
index 93d820be..b79e963b 100644
--- a/docs/.vitepress/config.ts
+++ b/docs/.vitepress/config.ts
@@ -145,6 +145,10 @@ export default defineConfig({
text: "ol-source-tile-arcgis-rest",
link: "/componentsguide/sources/arcgisrest/",
},
+ {
+ text: "ol-source-tile-debug",
+ link: "/componentsguide/sources/tiledebug/",
+ },
{
text: "ol-source-tile-json",
link: "/componentsguide/sources/tilejson/",
diff --git a/docs/componentsguide/sources/tiledebug/index.md b/docs/componentsguide/sources/tiledebug/index.md
new file mode 100644
index 00000000..c1f4684c
--- /dev/null
+++ b/docs/componentsguide/sources/tiledebug/index.md
@@ -0,0 +1,72 @@
+# ol-source-tile-debug
+
+A pseudo tile source, which does not fetch tiles from a server, but renders a grid outline for the tile grid/projection along with the coordinates for each tile.
+See examples/canvas-tiles for an example.
+
+
+
+
+
+
+
+
+
+## Usage
+
+::: code-group
+
+<<< ../../../../src/demos/TileDebugDemo.vue
+
+:::
+
+## Properties
+
+### Props from OpenLayers
+
+Properties are passed-trough from OpenLayers directly.
+Their types and default values can be checked-out [in the official OpenLayers docs](https://openlayers.org/en/latest/apidoc/module-ol_source_TileDebug-TileDebug.html).
+Only some properties deviate caused by reserved keywords from Vue / HTML.
+This deviating props are described in the section below.
+
+### Deviating Properties
+
+None.
+
+## Events
+
+You have access to all Events from the underlying source.
+Check out [the official OpenLayers docs](https://openlayers.org/en/latest/apidoc/module-ol_source_TileDebug-TileDebug.html) to see the available events tht will be fired.
+
+```html
+
+```
+
+## Methods
+
+You have access to all Methods from the underlying source.
+Check out [the official OpenLayers docs](https://openlayers.org/en/latest/apidoc/module-ol_source_TileDebug-TileDebug.html) to see the available methods.
+
+To access the source, you can use a `ref()` as shown below:
+
+```vue
+
+
+
+
+
+
+
+```
diff --git a/docs/public/sitemap.xml b/docs/public/sitemap.xml
index 5b7e3888..6e56f6dc 100644
--- a/docs/public/sitemap.xml
+++ b/docs/public/sitemap.xml
@@ -97,6 +97,11 @@
2023-06-22T22:30:00+00:00
0.80
+
+ https://vue3openlayers.netlify.app/componentsguide/sources/tiledebug/
+ 2023-04-07T20:30:00+00:00
+ 0.80
+
https://vue3openlayers.netlify.app/componentsguide/sources/tilejson/
2023-03-23T09:30:00+00:00
diff --git a/src/components/sources/OlSourceTileDebug.vue b/src/components/sources/OlSourceTileDebug.vue
new file mode 100644
index 00000000..850f0e85
--- /dev/null
+++ b/src/components/sources/OlSourceTileDebug.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
diff --git a/src/components/sources/index.ts b/src/components/sources/index.ts
index e188a94b..307e9285 100644
--- a/src/components/sources/index.ts
+++ b/src/components/sources/index.ts
@@ -7,6 +7,7 @@ import OlSourceOSM from "./OlSourceOSM.vue";
import OlSourceStamen from "./OlSourceStamen.vue";
import OlSourceTianDiTu from "./OlSourceTianDiTu.vue";
import OlSourceTileArcGISRest from "@/components/sources/OlSourceTileArcGISRest.vue";
+import OlSourceTileDebug from "./OlSourceTileDebug.vue";
import OlSourceTileJSON from "./OlSourceTileJSON.vue";
import OlSourceTileWMS from "./OlSourceTileWMS.vue";
import OlSourceVector from "./OlSourceVector.vue";
@@ -24,6 +25,7 @@ function install(app: App) {
app.component("ol-source-stamen", OlSourceStamen);
app.component("ol-source-tianditu", OlSourceTianDiTu);
app.component("ol-source-tile-arcgis-rest", OlSourceTileArcGISRest);
+ app.component("ol-source-tile-debug", OlSourceTileDebug);
app.component("ol-source-tile-json", OlSourceTileJSON);
app.component("ol-source-tile-wms", OlSourceTileWMS);
app.component("ol-source-vector", OlSourceVector);
@@ -45,6 +47,7 @@ export {
OlSourceStamen,
OlSourceTianDiTu,
OlSourceTileArcGISRest,
+ OlSourceTileDebug,
OlSourceTileJSON,
OlSourceTileWMS,
OlSourceVector,
diff --git a/src/demos/ProjectionRegisterDemo.vue b/src/demos/ProjectionRegisterDemo.vue
index 24d78ff8..62e7cf91 100644
--- a/src/demos/ProjectionRegisterDemo.vue
+++ b/src/demos/ProjectionRegisterDemo.vue
@@ -20,6 +20,9 @@
+
+
+
diff --git a/src/demos/TileDebugDemo.vue b/src/demos/TileDebugDemo.vue
new file mode 100644
index 00000000..6db8fd03
--- /dev/null
+++ b/src/demos/TileDebugDemo.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vite.config.ts b/vite.config.ts
index 36772a88..3bffeb24 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -85,6 +85,7 @@ export default defineConfig({
"ol/source/ImageWMS": "ImageWMS",
"ol/source/OSM": "OSM",
"ol/source/Stamen": "Stamen",
+ "ol/source/TileDebug": "TileDebug",
"ol/source/WMTS": "WMTSSource",
"ol/tilegrid/WMTS": "TileGridWMTS",
"ol/source/TileArcGISRest": "TileArcGISRest",