๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
openLayers4 ๋ณด์ฌ์ค ์ง๋ ๋ฒ์ ๊ณ์ฐ ๋ณธ๋ฌธ
tileGrid๋ก ๊ณ์ฐ์ y๊ฐ์ด ์์๋ก ์กํ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ Math.ads(y) ๋ฅผ ์ด์ฉํด y๋ฅผ ์ ๋๊ฐ์ผ๋ก ๋ฐ๊ฟ์ค ํ ๊ณ์ฐํฉ๋๋ค.
์ ๊ฐ ๋ณด์ฌ์ค ์ง๋ ๋ฒ์๋ฅผ tileGrid ์ค๋ ๋ฒจ 5 ๊ธฐ์ค์ผ๋ก mapBounds์ ๋ด์ต๋๋ค
์ค๋ ๋ฒจ์ด 1์ฉ ์ค๋ฅผ์๋ก tileGrid์ x, y๊ฐ์ 2๊ฐ ๋ ๊ณฑํด์ง๋๋ค.
์๋ฅผ๋ค์ด, coordinate๊ฐ [5, 26, 11] ์ด๋ ๊ฒ ๋๋ค๋ฉด ์ค ๋ ๋ฒจ์ 1 ์ฌ๋ ธ์๋ [6, 52, 22] ์ด๋ ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋์ ์ค๋ ๋ฒจ์ ๋ฐ๋ผ ๋งต์ ๋ณด์ฌ์ค extent๊ฐ์ด ๋ฌ๋ผ์ง๊ฒ ๋ฉ๋๋ค.
์ค๋ ๋ฒจ์ด 5์์ 6์ด ๋๋ค๋ฉด ์์ ํ 2๋ฅผ ๊ณฑํ๋ฉด ๋์ง๋ง 5์์ 8์ด ๋๋ค๋ฉด ์๊ธฐ๊ฐ ๋ฌ๋ผ์ง๋๋ค
5๋ ๋ฒจ์ ๊ฐ์์ 2๋ฅผ ๊ณฑํ๊ณ ๊ทธ์ 2๋ฅผ ๊ณฑํ๊ณ ๋ 2๋ฅผ ๊ณฑํด์ผ ํฉ๋๋ค.
๋ฐ๋ผ์, ์ค ๋ ๋ฒจ์ด ์ด๋ค ์๊ฐ ๋ค์ด์ฌ์ง ๋ชจ๋ฅด๋ ๊ณ์ฐํ์ฌ์ผ ํฉ๋๋ค.
// tileGrid [minX, minY, maxX, maxY]
// ์ค ๋ ๋ฒจ 5 ๊ธฐ์ค
var mapBounds = [26 , 11 , 28 , 14];
// ์ค๋ ๋ฒจ์ ๋ฐ๋ฅธ ๋งต์ ๋ณด์ฌ์ค ๋ฒ์ ์ขํ ๊ณ์ฐ
// z๋ ์ค๋ ๋ฒจ
var pow = Math.pow(2, z-5);
for (var i = 0; i < mapBounds.length; i++) {
mapBounds[i] = mapBounds[i] * pow;
}
'๊ฐ๋ฐ > Front-end' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
map์ ์ด์ฉํ ๋ฐฐ์ด ๊ฐ ๋ณ๊ฒฝ (0) | 2020.12.20 |
---|---|
JSTL ํฉ๊ณ ๊ณ์ฐ (0) | 2020.04.21 |
[JQuery] ์๋์ผ๋ก ์คํฌ๋กค๋ฐ ์์น ๊ณ ์ (0) | 2020.02.13 |
ํฌ๋กฌ์ด๋ ๊ธฐํ ๋ธ๋ผ์ฐ์ ์์๋ css ๋ฑ์ด ๊นจ์ง๋ ์ผ์ด ์๋๋ฐ IE์์ ๊นจ์ง๋ ํ์ ํด๊ฒฐ๋ฐฉ๋ฒ (0) | 2020.02.12 |
[JQuery] ์ฒดํฌ๋ฐ์ค๋ ๋ผ๋์ค๋ฒํผ์ด ์ฒดํฌ๋์ด์๋์ง ํ์ธํ ๋ (0) | 2020.02.12 |