我严厉地陷入了一个我无法解释的错误。我希望你能帮助我。我正在尝试根据leaftlet中的属性设置我的geojson多边形图层,并收到此错误:
Object {type:" FeatureCollection",crs:Object,features:Array [49]}。
这是我的代码:
function getVictimsColor(totalone){
if (totalone > 1000){
return 'red';
}else if(totalone > 500){
return 'orange'
}else if(totalone > 250){
return 'blue'
}else if(totalone > 100){
return 'white'
}else if(totalone > 50){
return 'green'
}else if(totalone > 10){
return 'black'
}else if(totalone > 5){
return 'yellow'
}
}
function style(feature) {
return {
weight: 2,
opacity: 1,
color: 'white',
dashArray: '3',
fillOpacity: 0.7,
fillColor: getVictimsColor(feature.properties.totalone)
};
}
var map = L.map('map').setView([47.9630, 24.1875], 4);
var layer = L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
attribution: '© <a href="http://openstreetmap.org">OpenStreetMap</a>
layer.addTo(map);
function addDataToMap(data, map) {
var dataLayer = L.geoJson(
data,
{style:getVictimsColor}
);
dataLayer.addTo(map);
}
$.getJSON("Europe_victims.geojson", function(data) {
console.log(data)
addDataToMap(data, map);
});
答案 0 :(得分:0)
&#34;错误&#34;您报告的可能只是console.log(data)
。
Leaflet可能不了解如何呈现您的GeoJSON数据,因为您将getVictimsColor
函数提供给style
构造函数的L.geoJson
选项,而不是将其style
赋予它功能。
答案 1 :(得分:0)
只是碰到了这个。
在:
function addDataToMap(data, map) {
var dataLayer = L.geoJson(
data,
{ style:getVictimsColor }
);
dataLayer.addTo(map);
}
将style:getVictimsColor
更改为style: style
应该工作(?)