๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

Leaflet ๋งˆ์Šคํฌ, ๋งˆ์Šคํ‚น ํšจ๊ณผ

Leaflet์—์„œ ํŠน์ • ์ง€์—ญ๋งŒ ๋‚จ๊ธฐ๊ณ  ๋‚˜๋จธ์ง€๋ฅผ ๋ฐ˜ํˆฌ๋ช…ํ•˜๊ฒŒ ๊ฐ€๋ฆฌ๋Š” ‘๋งˆ์Šคํฌ(Mask)’ ํšจ๊ณผ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๋˜ ์ ์ด ์žˆ๋‚˜์š”?

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋ณ„๋„์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์—†์ด ์ˆœ์ˆ˜ Leaflet๋งŒ์œผ๋กœ ์„œ์šธ์‹œ๋งŒ ๋ฐ๊ฒŒ, ์™ธ๊ณฝ์€ ์–ด๋‘ก๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.


๊ตฌํ˜„ ์›๋ฆฌ

  1. ์ „ ์„ธ๊ณ„(–180~180, –90~90) ๋ฒ”์œ„์˜ ํฐ ์‚ฌ๊ฐํ˜• polygon์„ ํ•˜๋‚˜ ๋งŒ๋“ ๋‹ค.
  2. ๊ทธ ์•ˆ์—์„œ ์„œ์šธ์‹œ polygon์„ ๋นผ๋‚ด๋ฉด,
    → ์„œ์šธ์‹œ๋งŒ “๊ตฌ๋ฉ์ฒ˜๋Ÿผ” ๋šซ๋ฆฐ ๋ฐ˜ํˆฌ๋ช… ๋งˆ์Šคํฌ๊ฐ€ ์ƒ๊ธด๋‹ค.

์ฆ‰,

L.polygon([outer, ...inner])
์„ ์‚ฌ์šฉํ•ด outer(์ „์„ธ๊ณ„) ์—์„œ inner(์„œ์šธ์‹œ ๋‚ด๋ถ€) ๋ฅผ ๊ตฌ๋ฉ์œผ๋กœ ๋นผ์ฃผ๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.


์ „์ฒด ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผํ™”๋ฉด

See the Pen leaflet mask by note (@somieee) on CodePen.

 

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์„œ์šธ์‹œ๋งŒ ๋ฐ๊ฒŒ ๋‚จ๊ณ , ์„œ์šธ ์™ธ๊ณฝ์€ ํšŒ์ƒ‰ ๋ฐ˜ํˆฌ๋ช… ๋งˆ์Šคํฌ๋กœ ๋ฎ์ž…๋‹ˆ๋‹ค.
ํ™•๋Œ€ํ•ด๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์„œ์šธ ๊ฒฝ๊ณ„๊ฐ€ ๊ฐ•์กฐ๋˜์–ด ๋ณด์ž…๋‹ˆ๋‹ค.

 

๋งˆ๋ฌด๋ฆฌ

Leaflet์€ ํ”Œ๋Ÿฌ๊ทธ์ธ ์—†์ด๋„ ๊ธฐ๋ณธ ๋„ํ˜• ๊ธฐ๋Šฅ๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํžˆ ๋‹ค์–‘ํ•œ ์‹œ๊ฐํ™” ํšจ๊ณผ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด “๋งˆ์Šคํฌ ๊ตฌ์กฐ”๋Š” ํ–‰์ •๊ตฌ์—ญ ๊ฐ•์กฐ, ๋ฐ์ดํ„ฐ ๋ถ„์„ ์˜์—ญ ํ‘œ์‹œ, ์‚ฌ์šฉ์ž ์ดˆ์  ์ง€๋„(Spotlight Map) ๋“ฑ์— ํญ๋„“๊ฒŒ ์‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์šฉํ•œ ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค

๋ฐ˜์‘ํ˜•