Leaflet: 지도 divλŠ” 100% 높이 CSS 속성을 μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2013λ…„ 01μ›” 11일  Β·  13μ½”λ©˜νŠΈ  Β·  좜처: Leaflet/Leaflet

λ‚˜λŠ” 전체 λ¬Έμ„œμ— 지도λ₯Ό 퍼뜨리렀고 ν–ˆλ‹€. μ•ˆνƒ€κΉκ²Œλ„ height css 속성을 100%둜 μ„€μ •ν•˜λ©΄ 지도가 λ Œλ”λ§λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ§€λ„λŠ” 정적 높이 픽셀에 λŒ€ν•΄ λ Œλ”λ§λ©λ‹ˆλ‹€. 참쑰용으둜 λ‹€μŒ jsfiddle을 λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. http://jsfiddle.net/QbP2U/5/

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

$(window).on("resize", function () { $("#map").height($(window).height()); map.invalidateSize(); }).trigger("resize");

이 μ½”λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 창의 λ°˜μ‘ν˜• λ†’μ΄λ‘œ λ§Œλ“­λ‹ˆλ‹€.

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

JSFiddle은 μ–΄λ–€ 이유둜 열리지 μ•Šμ§€λ§Œ Leaflet은 문제 없이 100% 높이λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€. μ•„λ§ˆλ„ λ­”κ°€ 잘λͺ»ν•˜κ³  μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. http://leafletjs.com/examples/mobile.html μ°Έμ‘°

λ‚΄κ°€ ν‹€λ Έμ–΄. body νƒœκ·Έμ— height 속성을 μ„€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 감사 ν•΄μš”

$(window).on("resize", function () { $("#map").height($(window).height()); map.invalidateSize(); }).trigger("resize");

이 μ½”λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 창의 λ°˜μ‘ν˜• λ†’μ΄λ‘œ λ§Œλ“­λ‹ˆλ‹€.

μœ„μ˜ Omgan의 μ˜κ²¬μ€ 전단지 1.0.2μ—μ„œ μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.
λ‹€μŒκ³Ό 같은 μž‘μ€ λ³€κ²½ 사항을 μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.
.height() - 220);
이것은 λ‚΄κ°€ μ‚¬μš©ν•˜κ³  μžˆλŠ” 메뉴에 λŒ€ν•œ 정렬을 μ‘°μ •ν•˜λŠ” 데 도움이 λ˜μ—ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. λ˜ν•œ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λ €λŠ” CSSλ₯Ό λͺ¨λ‘ μ œκ±°ν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€.

이것은 μ™„λ²½ν•˜κ²Œ μž‘λ™ν•˜μ§€λ§Œ 섀정은 (- 40)κ³Ό ν•¨κ»˜ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.
$(window).on("크기 μ‘°μ •", function () { $("#map").height($(window).height()-40); map.invalidateSize(); }).trigger("크기 μ‘°μ • ");

λ‚˜λŠ” Omgan, dstrickler, josejanerκ°€ ν•œ 일을 λ”°λžμŠ΅λ‹ˆλ‹€. λ˜ν•œ λ³„λ„μ˜ ν•¨μˆ˜ initMap()μ—μ„œ λ‚΄ 지도λ₯Ό μ΄ˆκΈ°ν™”ν–ˆκΈ° λ•Œλ¬Έμ— μ•„λž˜μ™€ 같이 크기 쑰정을 νŠΈλ¦¬κ±°ν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€.

function initMap() { map = L.map('mapid').setView([40.060620, -77.523182], 17); L.tileLayer('https://api.mapbox.com/styles/v1/mapbox/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', { maxZoom: 18, id: 'streets-v9', accessToken: 'xxxxx' }).addTo(map); tilesLoaded = true; $("#mapid").trigger("resize") }

μ•„λž˜μ™€ 같이 CSSμ—μ„œ 높이 μ‚¬μš©:

#map { height: calc(100% - 44px); width: 100%; position: absolute !important; }
전체 화면은 μ œλŒ€λ‘œ μž‘λ™ν•˜μ§€λ§Œ 경계가 더 이상 μ˜¬λ°”λ₯΄κ²Œ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λͺ¨λ“  λ§ˆμ»€κ°€ ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 높이λ₯Ό 800px둜 μ„€μ •ν•˜λ©΄ 경계가 μ œλŒ€λ‘œ μž‘λ™ν•©λ‹ˆλ‹€.
screen shot 2017-08-12 at 1 15 02 am

@stripathix 이것이 문제라고 μƒκ°ν•œλ‹€λ©΄ 문제λ₯Ό μ„€λͺ…ν•˜λŠ” λͺ…ν™•ν•œ μ˜ˆμ™€ ν•¨κ»˜ μƒˆ ν•­λͺ©μ„ μ—¬λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

κ·€ν•˜κ°€ μ œκ³΅ν•œ 정보λ₯Ό κ°μ•ˆν•  λ•Œ 이것은 전단지 문제일 κ°€λŠ₯성이 거의 μ—†μ§€λ§Œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ 이λ₯Ό μ‚¬μš©ν•˜λŠ” 방식에 κ΄€ν•œ 문제인 것 κ°™μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 지도가 μ΄ˆκΈ°ν™”λœ ν›„ 지도 μ»¨ν…Œμ΄λ„ˆμ˜ 크기가 _λ³€κ²½_ν•˜λŠ” 경우 지도 μΈμŠ€ν„΄μŠ€μ—μ„œ invalidateSize λ₯Ό ν˜ΈμΆœν•΄μ•Ό ν•©λ‹ˆλ‹€.

높이가 100% μž‘λ™ν•˜λ„λ‘ κ³ μ • λ˜λŠ” μ ˆλŒ€ μœ„μΉ˜λ‘œ μ„€μ •λœ 래퍼 μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.
예

.map-wrapper { width: 100%; height:100%; position: fixed;}
#map { width: 100%; height:100%; position: relative;}

https://jsfiddle.net/robertpribpolestar/xg41w12v/3/ μ°Έμ‘°

λ¬Όλ‘  μ΄λŠ” μ„±κ°€μ‹€ 수 μžˆλŠ” κ³ μ • 및 μ ˆλŒ€ μœ„μΉ˜ 지정을 μ‚¬μš©ν•΄μ•Ό 함을 μ˜λ―Έν•˜μ§€λ§Œ λΈŒλΌμš°μ € 크기 쑰정을 λ³΄λ©΄μ„œ JS에 ν¬ν•¨ν•˜λŠ” 것보닀 λ‚«μŠ΅λ‹ˆλ‹€.

제 κ²½μš°μ—λŠ” 이 CSSκ°€ 문제λ₯Ό ν•΄κ²°ν•©λ‹ˆλ‹€.

#map{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

μ»¨ν…Œμ΄λ„ˆμ— position: relative λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
vw 및 vh λ₯Ό μ‚¬μš©ν•˜μ—¬ μ»¨ν…Œμ΄λ„ˆλ„ λ°˜μ‘ν˜•μœΌλ‘œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

@dhanyn10 position: absolute; 이 νŠΈλ¦­μ„ μˆ˜ν–‰ν–ˆμŠ΅λ‹ˆλ‹€!

$(window).on("resize", function () { $("#map").height($(window).height()); map.invalidateSize(); }).trigger("resize");

이 μ½”λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 창의 λ°˜μ‘ν˜• λ†’μ΄λ‘œ λ§Œλ“­λ‹ˆλ‹€.

그것에 λŒ€ν•œ μ™„λ²½ν•˜κ²Œ μž‘λ™ν•˜λŠ” ν•΄ν‚Ή, λ‚˜λŠ” μ§€λ‚œ λͺ‡ μ‹œκ°„ λ™μ•ˆ μ΄λŸ¬ν•œ μ’…λ₯˜μ˜ μ†”λ£¨μ…˜μ„ μ°Ύμ•˜μ§€λ§Œ λ§ˆμΉ¨λ‚΄ μ°Ύμ•˜κ³  정말 ν–‰λ³΅ν•©λ‹ˆλ‹€. 응닡성도 ν…ŒμŠ€νŠΈν–ˆλŠ”λ° μ •ν™•ν•©λ‹ˆλ‹€.

였 FFSλŠ” 100vh λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 그리고 vh 및 vw 에 λŒ€ν•œ https://developer.mozilla.org/en-US/docs/Learn/CSS/Introduction_to_CSS/Values_and_units 및 $ 100% 의 μ •ν™•ν•œ 의미λ₯Ό μ½μœΌμ‹­μ‹œμ˜€.

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