๋ ๊ฐ์ GeoJson ์ค๋ฒ๋ ์ด๋ฅผ ํ์ํด์ผ ํฉ๋๋ค. ํ๋๋ ์ฌ์ฉ์์ ์ํธ ์์ฉํ ์ ์๊ณ (ํด๋ฆญ, ๋ง์ฐ์ค ์ค๋ฒ) ๋ ๋ฒ์งธ๋ ์๊ฐ์ ์ ๋ณด๋ฅผ ํ์ํ๊ธฐ ์ํ ์ํธ ์์ฉ์ด ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ ๋ ์ด์ด๋ ๋ ๋ฒ์งธ ๋ ์ด์ด ์๋์ ์์ผ๋ฉฐ ํ๋ง ๊ทธ๋ ค์ผ ํฉ๋๋ค.
๋ ๋ฒ์งธ ๋ ์ด์ด ์คํ์ผ์ ๋ํด "pointerEvents"๋ฅผ ์์์ผ๋ก ์ง์ ํ์ง๋ง LeafLet์ ์ด ์์ฑ์ ์ฌ์ฉํ์ง ์์ต๋๋ค. ์์ฑ๋ svg์๋ ์ด ์์ฑ์ด ์์ต๋๋ค.
var interactiveLayer = L.topoJson(epci2014TopoJson, {
style: function (feature) {
return {
weight: 0.0,
fillOpacity: 0.7,
color: 'rgb(200,200,200)',
fillColor: getColor(feature.properties.siren_epci || feature.properties.SIREN_EPCI)
}
},
onEachFeature: function (feature, layer) {
layer.on({
mouseover: highlightFeature,
mouseout: resetHighlight,
click: zoomToFeature
});
}
}).addTo(map);
var justForDrawLayer=L.geoJson(departementsGeoJson, {
style: function (feature) {
return {
pointerEvents : 'none',
clickable:false,
weight: 3,
fillOpacity: 0.0,
color: 'rgb(220,220,220)'
}
}
}).addTo(map);
"ํด๋ฆญ ๊ฐ๋ฅ"์ "๊ฑฐ์ง"์ผ๋ก ์ค์ ํ๋ ค๊ณ ์๋ํ์ง๋ง ๋ณ๊ฒฝ ์ฌํญ์ด ์์ต๋๋ค.
๋ด ์์ด๊ฐ ์ถฉ๋ถํ์ง ์๋ค๋ฉด ์ค๋กํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
http://playground-leaflet.rhcloud.com/ ๋๋ ์ฌ์ดํธ์ ๊ฐ์ ๋ค๋ฅธ jsfiddle ์ฌ์ฉ.
๋ ๋ฒ์งธ ๋ ์ด์ด ์คํ์ผ์ ๋ํด "pointerEvents"๋ฅผ ์์์ผ๋ก ์ง์ ํ์ง๋ง LeafLet์ ์ด ์์ฑ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
pointerEvents
L.Path
์ ๋ํด ์ธ์๋๋ ์ต์
์ด ์๋๋ฏ๋ก ๋ฌด์์ ๊ธฐ๋ํ์
จ๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
"ํด๋ฆญ ๊ฐ๋ฅ"์ "๊ฑฐ์ง"์ผ๋ก ์ค์ ํ๋ ค๊ณ ์๋ํ์ง๋ง ๋ณ๊ฒฝ ์ฌํญ์ด ์์ต๋๋ค.
ํด๋น ์ต์
์ 1.0.0์์ ์ด๋ฆ์ interactive
๋ก ๋ณ๊ฒฝํ์ต๋๋ค. ์ค๋ช
์์ "๋ํํ ๊ณ์ธต์์ ์์๋ ์ต์
"์ ์ฐธ์กฐํ์ญ์์ค.
์๋ตํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
"pointerEvents"์ ๊ฒฝ์ฐ: ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์ํด ๋ ์ด์ด๋ฅผ "๋นํ์ฑ"์ผ๋ก ๋ง๋ค ์ ์์๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์ ์ ๊ณต๋ ์๋ฅผ ๋ฐ๋ฅด๋ ค๊ณ ํ์ต๋๋ค. http://leafletjs.com/examples/map-panes/ ์ฐฝ ๋ฐ geoJson ๋ ์ด์ด์ ์ ์ฉ๋ pointerEvents. ์ด์ฉ๋ฉด ๋ด๊ฐ ์ด ๊ฐ๋ ์ ์๋ชป ์ดํดํ์ ์๋ ์์ต๋๋ค.
๋๋ geojson ์คํ์ผ์ ๋ํ inactive ์์ฑ์ผ๋ก ์๋ํ ๊ฒ์ ๋๋ค.
๋ด ๋ชฉํ๋ ์ผ๋ถ ์์ ๊ตญ๊ฐ(๋ค๊ฐํ)๋ฅผ cloropleth ์ง๋๋ก ํ์ํ๋ ๊ฒ์ ๋๋ค. ์ด ๋ ์ด์ด ์๋์๋ ํ์ผ ๋ ์ด์ด๊ฐ ์๊ณ , ๋งจ ์์๋ ๋ ํฐ ๊ตญ๊ฐ๋ฅผ ํ์ํ๋ ๋ ๋ค๋ฅธ geojson ๋ ์ด์ด๊ฐ ์์ผ๋ฉฐ, ๊ฐ๊ฐ์ ์์ ๊ตญ๊ฐ๋ฅผ ์ํ "์ปจํ ์ด๋"์ ๋๋ค. ์ด ์ค๋ฒ๋ ์ด๊ฐ ๋ด๋ถ์ ๋ํ ์ ์ฒด ํฌ๋ช ๋์ ํจ๊ป ๋ค๊ฐํ ํ๋ง ํ์ํ๊ธฐ๋ฅผ ์ํฉ๋๋ค. "์์ ๊ตญ๊ฐ" ์ค๋ฒ๋ ์ด๊ฐ ์ฌ์ฉ์์ ์ํธ ์์ฉํ์ง ์๊ณ "ํฐ ๊ตญ๊ฐ" ๋ ์ด์ด์ ์ํธ ์์ฉํ์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๊ณ ๋ง์
"in teractive:false "๋ก ์๋ํ์ง๋ง ์๋ํฉ๋๋ค.
(์ปค๋ฎค๋ํฐ๋ฅผ ์์ฒญํด์) ๋ฏธ์ํ๊ณ (์๋ํ๊ธฐ ๋๋ฌธ์) ๊ธฐ์๋ค.
๊ณ ๋ง์.
๋ ๊ฐ์ ๋ ์ด์ด๋ฅผ ๋ ๋๋งํ๋ ๋์ผํ ์์ ์ด ์์ผ๋ฉฐ ๋งจ ์ ๋ ์ด์ด๋ ๋นํ์ฑํ๋์ด์ผ ํฉ๋๋ค. "in Interactive:false " ๋์์ด ๋์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
"in teractive:false "๋ก ์๋ํ์ง๋ง ์๋ํฉ๋๋ค.
(์ปค๋ฎค๋ํฐ๋ฅผ ์์ฒญํด์) ๋ฏธ์ํ๊ณ (์๋ํ๊ธฐ ๋๋ฌธ์) ๊ธฐ์๋ค.
๊ณ ๋ง์.