【发布时间】:2013-06-09 18:53:22
【问题描述】:
好吧,标题说明了一切,但这里有一些代码,所以你明白我的意思。
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 是根据鼠标输入/输出事件更改这些样式的函数。
所以这段代码有效,我已经知道如何通过对用户事件做出反应来改变样式。 但是如何在从我的 geojson 数据创建的路径上设置一个实际的 css-classname?稍后在我的代码中,我想按特定的类名选择路径。
更新
2 年后,我再次偶然发现了这个问题。我花了2个小时才解开这个谜。下面接受的答案确实有效,但有一个问题。仅当您在图层上调用addTo(map) 之前设置cssClass 之前 才有效。最终在源代码中挖掘它之后,很明显leaflet只在每个路径初始化时设置cssClass。
【问题讨论】:
-
绝对是 Leaflet 中缺少的一个功能!这也使得 Circle 和其他 Path 元素几乎不可能使用 CSS 样式
标签: leaflet