我正在尝试为地图上的每个多边形指定填充颜色,我正在关注leaflet example for choropleth,该示例根据geojson文件中的适当性生成颜色,例如"density":94.65
// get color depending on population density value
function getColor(d) {
return d > 1000 ? '#800026' :
d > 500 ? '#BD0026' :
d > 200 ? '#E31A1C' :
d > 100 ? '#FC4E2A' :
d > 50 ? '#FD8D3C' :
d > 20 ? '#FEB24C' :
d > 10 ? '#FED976' :
'#FFEDA0';
}
function style(feature) {
return {
weight: 2,
opacity: 1,
color: 'white',
dashArray: '3',
fillOpacity: 0.7,
fillColor: getColor(feature.properties.density)
};
}
我没有使用这种适当性,我想做的是使用每个"properties":{"name":
或"id":
这就是我的尝试:
function style(feature) {
jQuery("svg path").each(function(){
myColour = '#'+(0x1000000+(Math.random())*0xffffff).toString(16).substr(1,6)
});
return {
weight: 2,
opacity: 1,
color: 'white',
dashArray: '3',
fillOpacity: 0.7,
fillColor: myColour
};
}
var geojson = L.geoJson(statesData, {
style: style,
}).addTo(map);
未捕获的ReferenceError:未定义myColour
答案 0 :(得分:1)
解决了它:
function style(feature) {
return {
weight: 2,
opacity: 1,
color: 'white',
dashArray: '3',
fillOpacity: 0.7,
fillColor: '#'+(0x1000000+(Math.random())*0xffffff).toString(16).substr(1,6)
};
}