我正在使用GeoJSON数据构建一个leaflet地图。当我尝试根据GeoJSON属性设置图标时,遇到了问题。我认为我的错误与使用字符串调用对象有关,但我无法确定具体是什么。
这是我的代码:
GeoJSON中的每个项目都有一个如下的iconcategory属性:
最后,当我加载我的GeoJSON文件时,我从GeoJSON属性中获取“iconcategory”,希望能够选择相应的图标变量...
这是我的代码:
GeoJSON中的每个项目都有一个如下的iconcategory属性:
{"type":"Feature",
"properties":{
"iconcategory": "iconGreyHouse",
...
对于每个图标类别,都有一个如下的图标变量:
var iconGreyHouse = L.icon({
iconUrl: "/markerIcons/house_icon_grey.png",
iconSize: [20, 20]
});
最后,当我加载我的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);
});
这就是它不起作用的地方!如果我使用完全相同的代码,但直接指定一个图标变量名称,一切都正常;只有当我尝试通过feature.property设置图标时,它才会失败。