Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6561776

Browse files
committed
add support for zoom-offset to l-tile-layer element
1 parent e754bdb commit 6561776

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/l-tile-layer.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@ class LTileLayer extends LLayer {
3939
});
4040
const options = parse(schema, this);
4141

42+
const zoomOffset = this.getAttribute("zoom-offset");
43+
if (zoomOffset) {
44+
const number = parseInt(zoomOffset);
45+
if (!isNaN(number)) {
46+
options["zoomOffset"] = number;
47+
}
48+
}
49+
4250
// GridLayer options
4351
const gridOptions = gridLayerOptions(this);
4452

src/l-tile-layer.test.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,17 @@ it("should support tile-size attribute default value", () => {
7676
const expected = tileLayer(urlTemplate, {});
7777
expect(actual).toEqual(expected);
7878
});
79+
80+
it.each([["-1", -1]])(
81+
"should support zoom-offset attribute",
82+
(text, zoomOffset) => {
83+
const urlTemplate = "/";
84+
const el = document.createElement("l-tile-layer");
85+
el.setAttribute("url-template", urlTemplate);
86+
el.setAttribute("zoom-offset", text);
87+
document.body.appendChild(el);
88+
const actual = el.layer;
89+
const expected = tileLayer(urlTemplate, { zoomOffset });
90+
expect(actual).toEqual(expected);
91+
},
92+
);

0 commit comments

Comments
 (0)