mle 0270 - izudon/izudon.github.io GitHub Wiki
0270 Change a layer's color with buttons
Map.setPaintProperty()
1.じわっと色変え このメソッドを単に呼んでやればじわっと変わるらしい。
map.setPaintProperty( layerId, "fill-color", "#00ffff" );
2.単なる塗りか建物かで区別
立体化させた建物の色を変える場合は色のプロパティ名が違うので考慮する。
layer.value === 'water' ? 'fill-color' : 'fill-extrusion-color'
click
イベントに関数を登録
3.ボタンの 色別の10コマのボタンを forEach
で生成させるとともに、色変えする関数をイベントリスナに登録。
const colors = [
'#ffffcc',
'#a1dab4',
// ...
];
colors.forEach((color) => {
// ボタンの生成
// ボタンへのイベントの登録
swatch.addEventListener('click', () => {
map.setPaintProperty(
layer.value,
layer.value === 'water' ? 'fill-color' : 'fill-extrusion-color',
color
);
});
// ボタンをDOMへ追加
});
- MapLibre Examples
Add a comment on every example of MapLibre GL JS by Masakazu IZUI