无法在 Mapbox/Leaflet 中为 geojson 属性定义填充颜色
Trouble defining fill color for geojson attribute in Mapbox / Leaflet
我已经使用
在 Mapbox 地图上加载了一个 geojson
var featureLayer = L.mapbox.featureLayer()
.loadURL('gmo_counties.geojson')
.addTo(map)
并且 geojson 与我的 index.html 在同一目录中。
我想根据名为 "H_Sum_lbs" 的属性设置此 geojson 中的多边形样式。我尝试了几种方法,但没有取得任何进展。如何根据 "H_Sum_lbs" 属性的值对这些多边形应用条件着色?
您可以从 L.mapbox.featureLayer
切换到 L.GeoJSON
。它接受一个 style
函数作为一个选项,您可以在其中访问该功能,因此您可以有条件地 return 基于您的功能属性的样式对象:
var featureCollection = {
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": {
"valid": false
},
"geometry": {
"type": "LineString",
"coordinates": [[-25, -25], [25, -25]]
}
}, {
"type": "Feature",
"properties": {
"valid": true
},
"geometry": {
"type": "LineString",
"coordinates": [[25, 25], [-25, 25]]
}
}]
}
L.mapbox.accessToken = yourAccessToken;
var map = L.mapbox.map('mapbox').setView([0, 0], 0);
L.geoJson(featureCollection, {
style: function (feature) {
return {
color: (feature.properties.valid) ? 'green' : 'red'
}
}
}).addTo(map);
L.GeoJSON
参考:
http://leafletjs.com/reference.html#geojson
L.Path
选项:
http://leafletjs.com/reference.html#path
我已经使用
在 Mapbox 地图上加载了一个 geojsonvar featureLayer = L.mapbox.featureLayer()
.loadURL('gmo_counties.geojson')
.addTo(map)
并且 geojson 与我的 index.html 在同一目录中。
我想根据名为 "H_Sum_lbs" 的属性设置此 geojson 中的多边形样式。我尝试了几种方法,但没有取得任何进展。如何根据 "H_Sum_lbs" 属性的值对这些多边形应用条件着色?
您可以从 L.mapbox.featureLayer
切换到 L.GeoJSON
。它接受一个 style
函数作为一个选项,您可以在其中访问该功能,因此您可以有条件地 return 基于您的功能属性的样式对象:
var featureCollection = {
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": {
"valid": false
},
"geometry": {
"type": "LineString",
"coordinates": [[-25, -25], [25, -25]]
}
}, {
"type": "Feature",
"properties": {
"valid": true
},
"geometry": {
"type": "LineString",
"coordinates": [[25, 25], [-25, 25]]
}
}]
}
L.mapbox.accessToken = yourAccessToken;
var map = L.mapbox.map('mapbox').setView([0, 0], 0);
L.geoJson(featureCollection, {
style: function (feature) {
return {
color: (feature.properties.valid) ? 'green' : 'red'
}
}
}).addTo(map);
L.GeoJSON
参考:
http://leafletjs.com/reference.html#geojson
L.Path
选项:
http://leafletjs.com/reference.html#path