タイトルはそれをすべて言いますが、ここにいくつかのコードがあるので、私の意味がわかります。
function eachFeature(feature, layer) {
layer.on({
mouseover: highlightFeature,
mouseout: resetHighlight,
});
}
geojson = L.geoJson(geojson_raw, { style: style, onEachFeature: eachFeature });
geojson.addTo(map);
geojson_raw
javascript 変数に保持される geojson オブジェクトです。
style
いくつかのスタイル属性を持つオブジェクトを返す関数です。
highlightFeature
/resetHighlight
は、mousein/out イベントに応じてこれらのスタイルを変更する関数です。
したがって、このコードは機能し、ユーザー イベントに反応してスタイルを変更する方法は既にわかっています。しかし、geojson データから作成されたパスに実際の css-classname を設定するにはどうすればよいでしょうか? コードの後半で、特定のクラス名でパスを選択したいと思います。
アップデート
2年後、私は再びこの問題に出くわしました。そして、謎を解くのに2時間かかりました。以下の受け入れられた回答は機能しますが、キャッチがあります。レイヤーを呼び出す前に cssClass を設定した場合にのみ機能します。addTo(map)
最終的にソースコードを掘り下げた後、リーフレットは各パスが初期化されるときにのみ cssClass を設定することが明らかになりました。