【Leaflet.markercluster】クラスタリングされたマーカーのz-indexを設定しようとして苦戦した
2023-8-28 | JavaScript, Leaflet
Leaflet&markerclusterでクラスタリングされたマーカーのz-index
を設定しようとして苦戦した話。
概要
今回の記事では、Leaflet&markerclusterでマーカーのz-index
を設定しようとして苦戦した話を掲載する。
仕様書
環境
- Leaflet 1.7.1
- Leaflet.markercluster 1.4.1
手順書
図形の上にマーカーを表示したくてゴニョゴニョしてたんだけどもなかなかうまくいかなかった。
Pane
を作って、そのPane
にz-index
を設定しようとしたところ、マーカー自体は設定したz-index
になったんだけども、クラスタリングされた状態(マーカがまとまって数値が表示されてる状態)のマーカーは設定したz-index
が反映されない!
var pane_marker = map.createPane('pane_marker');
pane_marker.style.zIndex = 1000;
var mk = L.marker([lat, lng], {
icon: icon,
pane: 'pane_marker'
});
ChromeのDevToolsで確認するとクラスタリングされた状態のマーカーは指定したPane
にマーカーが描写されず、デフォルトのleaflet-marker-pane
に描写されてた。
markerClusterGroup
のclusterPane
でPane
を設定できるらしいんだけども、うまく描写されない!
var markers = L.markerClusterGroup({
clusterPane: 'pane_marker',
showCoverageOnHover: false,
maxClusterRadius: 16,
spiderfyOnMaxZoom: true
});
やむなくCSS
でleaflet-marker-pane
のz-index
を設定すると意図した感じに描写されるようになった。
.leaflet-marker-pane {
z-index: 1000 !important;
}
まとめ(感想文)
なんだかもやもやする!