Leaflet: ES6 this.callInitHooks๋Š” ํ•จ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 12์›” 29์ผ  ยท  8์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Leaflet/Leaflet

  • [x] ๋„์›€์„ ์š”์ฒญํ•˜์ง€ ์•Š๊ณ  ๋ฒ„๊ทธ๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.
  • [ ] ๋™์ž‘์ด ๋ฌธ์„œํ™”๋˜๊ณ  ์˜ˆ์ƒ๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์„œ ๋ฅผ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
  • [ ] ๋‚˜๋Š” ์ด๊ฒƒ์ด ๋‚ด ์ž์‹ ์˜ ์ฝ”๋“œ๋‚˜ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ(Cordova, Ionic, Angular, Reactโ€ฆ)์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ์ „๋‹จ์ง€ ์ฝ”๋“œ ๋ฌธ์ œ๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค.
  • [ ] ๋ฌธ์ œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์•„์ง ๋ณด๊ณ ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฒˆ์‹ ๋ฐฉ๋ฒ•

  • ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ „๋‹จ์ง€ ๋ฒ„์ „:
  • ์‚ฌ์šฉ ์ค‘์ธ ๋ธŒ๋ผ์šฐ์ €(๋ฒ„์ „ ํฌํ•จ):
  • ์‚ฌ์šฉ ์ค‘์ธ OS/ํ”Œ๋žซํผ(๋ฒ„์ „ ํฌํ•จ):
  • 1 ๋‹จ๊ณ„
  • 2 ๋‹จ๊ณ„

๋‚ด๊ฐ€ ๊ธฐ๋Œ€ํ•˜๋Š” ํ–‰๋™๊ณผ ๋‚ด๊ฐ€ ๋ณด๊ณ  ์žˆ๋Š” ํ–‰๋™

๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ์ตœ์†Œํ•œ์˜ ์˜ˆ

  • [ ] ์ด ์˜ˆ์ œ๋Š” ๊ฐ€๋Šฅํ•œ ํ•œ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค
  • [ ] ์ด ์˜ˆ์ œ๋Š” ํƒ€์‚ฌ ์ฝ”๋“œ์— ์˜์กดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

http://playground-leaflet.rhcloud.com/ ๋˜๋Š” ์‚ฌ์ดํŠธ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ jsfiddle ์‚ฌ์šฉ.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ฐ™์€ ์˜ค๋ฅ˜๋ฅผ ๊ฒช์„ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ ๋Œ€์‹ 

var positron = L.TileLayer(...)

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

var positron = new L.TileLayer(...)

๋†€์ดํ„ฐ ๋งํฌ @pcrombach ์— ์ƒˆ ํ‚ค์›Œ๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  8 ๋Œ“๊ธ€

์•ฑ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์‹  ๋ฒ„์ „์˜ ์ „๋‹จ์ง€ 1.02๋ฅผ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „๋‹จ์ง€ 1.0.2๋Š” ์ผ๋ฐ˜ ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ๋กœ ์•ฑ์„ ๋นŒ๋“œํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Typescript ์•ฑ์—์„œ ์ „๋‹จ์ง€ 1.0.2 ์‚ฌ์šฉ ์ค‘๋‹จ: ์ง€๋„์— GeoSearch์™€ ๊ฐ™์€ Control ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ถ”๊ฐ€ํ•˜์ž๋งˆ์ž this.callInitHooks๋Š” ๊ธฐ๋Šฅ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์ „๋‹จ์ง€ 1.0.2 ES6/Typescript๊ฐ€ ํ˜ธํ™˜๋˜๋‚˜์š”?

TypeScript(https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/leaflet/index.d.ts์— ๋Œ€ํ•œ ์ •์˜๊ฐ€ ์žˆ์Œ) ๋ฐ ES6๊ณผ ํ•จ๊ป˜ Leaflet์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ํŠน๋ณ„ํžˆ ๋ง‰๋Š” ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ํŠน์ • ๋ฌธ์ œ๊ฐ€ Leaflet์— ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋ฉด http://playground-leaflet.rhcloud.com/ , jsfiddle ๋˜๋Š” ์ด์™€ ์œ ์‚ฌํ•œ ์˜ˆ์ œ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค.

๋„ˆ๊ฐ€ ํ™•์‹คํžˆ ๋งž์•„. ๋‚˜๋„ Typescript์™€ ํ•จ๊ป˜ ๋‚ด ์•ฑ์—์„œ Leaflet์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค.
ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‹คํ–‰ํ•˜๋ฉด kookinit()๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Op 3 1์›”. 2017, om 14:57 heft Per Liedman [email protected]์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

TypeScript์™€ ํ•จ๊ป˜ Leaflet์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ํŠน๋ณ„ํžˆ ๋ฐฉํ•ดํ•˜๋Š” ๊ฒƒ์€ ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ด์— ๋Œ€ํ•œ ์ •์˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/leaflet/index.d.ts https://github .com/DefinitelyTyped/DefinitelyTyped/blob/master/leaflet/index.d.ts ) ๋ฐ ES6.

์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” Leaflet์˜ ํŠน์ • ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋ฉด http://playground-leaflet.rhcloud.com/ http://playground-leaflet.rhcloud.com/ , jsfiddle ๋˜๋Š” ์ด์™€ ์œ ์‚ฌํ•œ ์˜ˆ์ œ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค.

โ€”
์Šค๋ ˆ๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub https://github.com/Leaflet/Leaflet/issues/5224#issuecomment-270119252 ์—์„œ ํ™•์ธํ•˜๊ฑฐ๋‚˜ https://github.com/notifications/unsubscribe-auth/AAZlpz5axhLON3LzzdbHZIgG4DYx4- ์Šค๋ ˆ๋“œ๋ฅผ ์Œ์†Œ๊ฑฐ

๋ฌธ์ œ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ Leaflet ํŒ€์€ ๋‹ค๋ฅธ ์ž‘์„ฑ์ž์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๋Œ€ํ•œ ํ†ต์ฐฐ๋ ฅ์ด ์ œํ•œ์ ์ด๋ฉฐ ์šฐ๋ฆฌ์˜ ์‹œ๊ฐ„๊ณผ ๋ฆฌ์†Œ์Šค๋กœ ์ธํ•ด Leaflet์˜ ํ•ต์‹ฌ ์™ธ๋ถ€์—์„œ ๋ฌธ์ œ๋ฅผ ๋””๋ฒ„๊น…ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

๋„์›€์ด ๋˜์‹ค์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ €๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๊ฒƒ์€ ๋‚ด ์‹ค์ˆ˜์˜€๋‹ค. ๋‚˜๋Š” L.tileLayer() ๊ฐ€ ์•„๋‹ˆ๋ผ L.TilelLayer ๋ฅผ ํ˜ธ์ถœํ–ˆ๊ณ  ์•„๋งˆ๋„ ์ด๊ฒƒ์„ ๋ฌธ์„œ์— ์ผ๋ฐ˜์ ์ธ ์‹ค์ˆ˜๋กœ ์ถ”๊ฐ€ํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค :-( https://github.com/mWater/offline-leaflet-map/issues/18 ์ฐธ์กฐ

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ฐ™์€ ์˜ค๋ฅ˜๋ฅผ ๊ฒช์„ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ ๋Œ€์‹ 

var positron = L.TileLayer(...)

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

var positron = new L.TileLayer(...)

๋†€์ดํ„ฐ ๋งํฌ @pcrombach ์— ์ƒˆ ํ‚ค์›Œ๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ช…ํ™•ํžˆ ํ•˜๊ธฐ ์œ„ํ•ด - Leaflet์€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ƒˆ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค๋Š” ๋Œ€๋ฌธ์ž๋กœ ํ‘œ์‹œ๋˜๋ฉฐ new ๋กœ ํ˜ธ์ถœํ•ด์•ผ ํ•˜์ง€๋งŒ ํŒฉํ† ๋ฆฌ ๋ฉ”์„œ๋“œ๋Š” ์†Œ๋ฌธ์ž new ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ

// Small t, calling factory method 
const positron = L.tileLayer(...); 

// Capital T, instantiating a new instance directly 
const positron = new L.TileLayer(...);

๋ฐ˜์‘์—๋„ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰