传单 geojson 样式功能仅具有颜色 1 geojson 功能
leaflet geojson style function feature only colors 1 geojson feature
我需要对从 geojson 文件中提取的每个功能设置不同的样式。然而,这个匿名样式函数只会改变它遇到的第一个特征的样式并停止。我是传单的新手。看过几个演示,但找不到为什么这个匿名样式函数只更改第一个功能的样式而不更改其余功能的原因? getTableData 函数 returns 来自 table 的颜色在页面加载时生成。
特征示例
var countyData = {
"type": "FeatureCollection",
"features": [
{ "type": "Feature", "id": 0, "properties": { "ENTITYYR": 2010.0, "NAME": "COUNTY1", "FIPS": 25.0, "FIPS_STR": "49025", "COLOR4": 4 }, "geometry": { "type": "Polygon", "coordinates": [ [ Long List Of Coordinates here ] ] } }
, etc
geojson = L.geoJson(countyData, {
style: function(feature) {
switch (feature.properties.NAME) {
case 'COUNTY1': return {color: '#' + getTableData(feature.properties.NAME)};
break;
case 'COUNTY2': return {color: '#' + getTableData(feature.properties.NAME)};
break;
case 'COUNTY3': return {color: '#' + getTableData(feature.properties.NAME)};
break;
case 'COUNTY4': return {color: '#' + getTableData(feature.properties.NAME)};
break;
case 'COUNTY5': return {color: '#' + getTableData(feature.properties.NAME)};
break;
}
},
onEachFeature: onEachFeature
}).addTo(map);
您正在尝试将 COUNTRY1
与 country1
匹配,但这是行不通的。 Javascript 开关区分大小写。
调用的其他函数之一出错
我需要对从 geojson 文件中提取的每个功能设置不同的样式。然而,这个匿名样式函数只会改变它遇到的第一个特征的样式并停止。我是传单的新手。看过几个演示,但找不到为什么这个匿名样式函数只更改第一个功能的样式而不更改其余功能的原因? getTableData 函数 returns 来自 table 的颜色在页面加载时生成。
特征示例
var countyData = {
"type": "FeatureCollection",
"features": [
{ "type": "Feature", "id": 0, "properties": { "ENTITYYR": 2010.0, "NAME": "COUNTY1", "FIPS": 25.0, "FIPS_STR": "49025", "COLOR4": 4 }, "geometry": { "type": "Polygon", "coordinates": [ [ Long List Of Coordinates here ] ] } }
, etc
geojson = L.geoJson(countyData, {
style: function(feature) {
switch (feature.properties.NAME) {
case 'COUNTY1': return {color: '#' + getTableData(feature.properties.NAME)};
break;
case 'COUNTY2': return {color: '#' + getTableData(feature.properties.NAME)};
break;
case 'COUNTY3': return {color: '#' + getTableData(feature.properties.NAME)};
break;
case 'COUNTY4': return {color: '#' + getTableData(feature.properties.NAME)};
break;
case 'COUNTY5': return {color: '#' + getTableData(feature.properties.NAME)};
break;
}
},
onEachFeature: onEachFeature
}).addTo(map);
您正在尝试将 COUNTRY1
与 country1
匹配,但这是行不通的。 Javascript 开关区分大小写。
调用的其他函数之一出错