如何轻松地用Leaflet标记geoJSON?

jk9hmnmh  于 2022-12-15  发布在  其他
关注(0)|答案(1)|浏览(135)

这张Map是一个社区的人口总数。图层“Population2000Layer”包括属性字段“Total”。只需要到达那里并在多边形的中心显示总数,例如
局部填充(特征、属性、总计)
目标是使用"总人口“属性来标记每个多边形:

function choroplethize(d) {
<!-- jenks breaks from 2010 were applied to 2000 as well-->
return d > 1175  ? '#045a8d' :
       d > 1083  ? '#2b8cbe' :
       d > 801  ? '#74a9cf' :
       d > 711  ? '#bdc9e1' :
                  '#f1eef6';
}

// styling for the total Population layers
function styleTotalPop(feature) {
    return {
        weight: 3,
        opacity: 0.25,
        color: 'black',
        dashArray: '3',
        fillOpacity: 0.9,
        fillColor: choroplethize(feature.properties.Total)
    }
}

<!-- add blocks' Populations for 2000 and 2010 as GeoJSON layer -->
var Population2000Layer = L.geoJson(Population2000, {
    style: styleTotalPop,
    onEachFeature: geojsonPopup2000,
    pointToLayer: function (feature, latlng) {
        return L.marker(latlng);
    }
});
v7pvogib

v7pvogib1#

在我的例子中,我的JS没有创建choroplethize类别,但是我用其他语法声明了一些case,我想这对你会有帮助。

以下是属性

var calzada = new L.geoJson(data, {
                style: function (feature) {
                    var c;
                    switch (feature.properties.dpv_cal) {
                    case 'Natural':
                    c = '#ffffff';
                    break;
                    case 'Mejorada':
                    c = '#db6adb';
                    break;
                    case 'Pavimentada':
                    c = '#ff0127';
                    break;
                    default:
                    c = '#000000';
                    }
                 return {color: c, opacity: 1, weight: 2};
                }
              }).addTo(map);

显然,这只是我代码的一部分,对我来说很有用。它是一个线条形状,引用不同路线的类别。

相关问题