javascript - 如何将2个值传递给传单中的json样式

标签 javascript jquery json leaflet geojson

我需要传递两种样式,我目前有:

第一种样式:

function style(feature) {
    return {
        weight: 2,
        opacity: 1,
        color: 'white',
        dashArray: '3',
        fillOpacity: 0.7,
        fillColor: getColor(feature.properties.density)
    };
}

我所做的:

var classNameMap = <?php echo JSON_encode($classesForCountries); ?>;
geojson = L.geoJson(statesData, {
    style: style,
    style: function(feature) {
        var classes = classNameMap[feature.properties.name];
        return {className: classes};
    },
        onEachFeature: onEachFeature
}).addTo(map);

但这忽略了第一个样式

我尝试将其作为数组传递:

geojson = L.geoJson(statesData, {
    style: [style, function(){
        var classes = classNameMap[feature.properties.name];
        return {className: classes};
    }],
        onEachFeature: onEachFeature
}).addTo(map);

但是,第一个样式被忽略。

leaflet docs if this can help, here

最佳答案

这是解决方案:

var classNameMap = <?php echo JSON_encode($classesForCountries); ?>;
function style(feature) {
    var classes = classNameMap[feature.properties.name];
    return {
        weight: 2,
        opacity: 1,
        color: 'white',
        dashArray: '3',
        fillOpacity: 0.7,
        fillColor: getColor(feature.properties.density),
        className: classes
    };
}

geojson = L.geoJson(statesData, {
    style: style,
        onEachFeature: onEachFeature
}).addTo(map);

关于javascript - 如何将2个值传递给传单中的json样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40421585/

相关文章:

javascript - 我可以有一个没有值的 JavaScript 对象键吗

javascript - 为什么 IntelliSense 不能将我的查询选择项识别为元素?

javascript - 如何使应用程序中的日期字段独立于系统时区?

javascript - Tablesorter -> 将过滤后的数据提取到 csv 文件

javascript - jQuery 用户界面 : Animate from right to left

PHP,在json中索引mysql ID。这值得么?

javascript - 使用 Angular 更新 json 值

javascript - vuejs使用fetch Api获取projects.json : Unexpected token < in JSON at position 0的数据

javascript - 如何使用单击功能删除对象中的数据?

php - 在给定秒数内刷新ajax代码