小编Thé*_*eno的帖子

Leaflet:从 GeoJSON 属性设置 GeoJSON 层的图标

我正在使用 GeoJSON 数据构建传单地图。尝试根据 GeoJSON 属性设置我使用的图标时遇到问题。我认为我的错误与使用字符串调用对象有关,但我无法弄清楚它到底是什么。

这是我的代码:

GeoJSON 中的每个项目都有一个 iconcategory 属性,如下所示:

{"type":"Feature",
    "properties":{
        "iconcategory": "iconGreyHouse",
            ...
Run Code Online (Sandbox Code Playgroud)

对于每个图标类别,都有一个图标变量,如下所示:

var iconGreyHouse = L.icon({
    iconUrl: "/markerIcons/house_icon_grey.png",
    iconSize: [20, 20]
});
Run Code Online (Sandbox Code Playgroud)

最后,当我加载 GeoJSON 文件时,我从 GeoJSON 属性中获取“iconcategory”,希望能够选择相应的图标变量...

$.getJSON("/GeoJSON/housemarkers.geojson", function (houses) {
    L.geoJson(houses, {
        pointToLayer: function (feature, latlng) {
            return L.marker(latlng, {
                icon: feature.properties.iconcategory
            });
        }
    }).addTo(housemarkers);
});
Run Code Online (Sandbox Code Playgroud)

这就是不行的地方!如果我使用完全相同的代码但直接指定图标变量名称,则一切正常;只有当我尝试通过 feature.property 设置图标时才会失败。

javascript geojson leaflet

5
推荐指数
1
解决办法
4507
查看次数

标签 统计

geojson ×1

javascript ×1

leaflet ×1