Leaflet: μ •μ˜λ˜μ§€ μ•Šμ€ 속성 '_leaflet_id'λ₯Ό 읽을 수 μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2012λ…„ 10μ›” 17일  Β·  4μ½”λ©˜νŠΈ  Β·  좜처: Leaflet/Leaflet

νŽ˜μ΄μ§€λ₯Ό μƒˆλ‘œ κ³ μΉ  λ•Œ ν¬λ‘¬μ—μ„œ λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

Uncaught TypeError: Cannot read property '_leaflet_id' of undefined leaflet.js:6
(anonymous function) leaflet.js:6
n.Map.n.Class.extend.hasLayer leaflet.js:6
domController.map.manageZoom domController.leaflet.js:647
n.Mixin.Events.fireEvent leaflet.js:6
n.Map.n.Class.extend._resetView leaflet.js:6
n.Map.include.n.DomUtil.TRANSITION._onZoomTransitionEnd leaflet.js:6
n.Map.include.n.DomUtil.TRANSITION._catchTransitionEnd leaflet.js:6
e.(anonymous function).u

이것은 λ‹€μŒκ³Ό 같은 κ²½μš°μ— λ°œμƒν•©λ‹ˆλ‹€.

if (!map.hasLayer(tilelayer)) {}

μ™œ 이런 일이 μΌμ–΄λ‚˜κ³  μ–΄λ–»κ²Œ ν•΄κ²°ν•  수 μžˆλŠ”μ§€ μ•„μ‹­λ‹ˆκΉŒ?
이 경우 μ§€λ„λŠ” μƒˆλ‘œ κ³ μΉ¨ν•  λ•ŒκΉŒμ§€ μ‚¬μš©ν•  수 μ—†κ²Œ λ©λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

이것은 이 쀄이 μ‹€ν–‰λ˜λŠ” μˆœκ°„μ— tilelayer λ³€μˆ˜κ°€ μ •μ˜λ˜μ§€ μ•Šμ€ 경우 λ°œμƒν•©λ‹ˆλ‹€. 거기에 디버거 λͺ…령문을 λ„£κ³  그것을 μ•Œμ•„λ‚΄μ‹­μ‹œμ˜€. 어렡지 μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

λͺ¨λ“  4 λŒ“κΈ€

이것은 이 쀄이 μ‹€ν–‰λ˜λŠ” μˆœκ°„μ— tilelayer λ³€μˆ˜κ°€ μ •μ˜λ˜μ§€ μ•Šμ€ 경우 λ°œμƒν•©λ‹ˆλ‹€. 거기에 디버거 λͺ…령문을 λ„£κ³  그것을 μ•Œμ•„λ‚΄μ‹­μ‹œμ˜€. 어렡지 μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€.

μ•ˆλ…•,

λ‚˜λŠ” Leaflet 1.0 Beta와 같은 문제λ₯Ό κ²ͺκ³  μžˆμŠ΅λ‹ˆλ‹€. 이 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

μž‘νžˆμ§€ μ•Šμ€ TypeError: μ •μ˜λ˜μ§€ μ•Šμ€ '_leaflet_id' 속성을 읽을 수 μ—†μŠ΅λ‹ˆλ‹€.

이 μ€„μ—μ„œ:
obj._leaflet_id = obj._leaflet_id || ++L.Util.lastId;

μŠ€νƒ¬ν”„ κΈ°λŠ₯에

이것 μ’€ λ„μ™€μ£Όμ‹œκ² μ–΄μš”? μƒˆ 티켓을 λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€(https://github.com/Leaflet/Leaflet/issues/3877).

이 λ¬Έμ œλŠ” 일반적으둜 addLayer(tileLayer)λ₯Ό μ‚¬μš©ν•  λ•Œ tileLayer의 값이 null인 κ²½μš°μ— λ°œμƒν•˜λ―€λ‘œ tileLayer의 μ΄ˆκΈ°ν™”κ°€ μ˜¬λ°”λ₯Έμ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰