Javascript 访问非几何体或属性的geojson键值对?
我正在使用谷歌地图JSAPI。我无法使用Javascript 访问非几何体或属性的geojson键值对?,javascript,json,properties,geojson,Javascript,Json,Properties,Geojson,我正在使用谷歌地图JSAPI。我无法使用getProperty函数,因为数据没有将属性分组在一起 我如何访问这些数据 这是我在意识到不能使用properties函数之前尝试过的 "type": "FeatureCollection", "features": [ { "type": "Feature", "g
getProperty
函数,因为数据没有将属性分组在一起
我如何访问这些数据
这是我在意识到不能使用properties函数之前尝试过的
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-77.155585,
40.056708,
0
],
[
-77.150315,
40.04536,
0
]
]
]
},
"id": 42001030101,
"Households": 1000,
"Income": 74597
},
根据报告:
要素对象具有名为“属性”的成员。价值
属性成员的属性是一个对象(任何JSON对象或JSON null)
价值)
由于您的功能没有属性
成员,您可以“修复”它,以便将既不是类型
也不是几何体
的任何成员捆绑为属性
的成员
这将使用feature.getProperty()
启用现有代码
const数据={
“类型”:“FeatureCollection”,
“特点”:[
{
“类型”:“功能”,
“几何学”:{
“类型”:“多边形”,
“坐标”:[
[
[-77.155585, 40.056708, 0],
[-77.150315, 40.04536, 0]
]
]
},
“id”:42001030101,
“家庭”:1000,
“收入”:74597
}
]
}
const repairGeoJsonProps=(fc)=>{
返回{
“类型”:“FeatureCollection”,
“功能”:fc.features.map(ftr=>{
const props=Object.entries(ftr.filter)(k=>[“type”,“geometry”].indexOf(k[0])<0);
返回{
“类型”:ftr.type,
“几何”:ftr.geometry,
“属性”:Object.fromEntries(道具)
}
})
}
}
日志(repairgojsonprops(数据))代码>检查这里:-您将看到它不是有效的geojson,原因有三。这会使它无法访问吗?数据可以很好地映射,我只需要能够获取底部的几个值。如果不可能,我如何通过编程将这些值放入属性部分?
map.data.setStyle(
function(feature){
let income = feature.getProperty('Income');
let color = 'blue';
if (income > 10000){
color = 'red'
}
return {
fillColor: color,
//strokeColor: "green",
strokeWeight: 0.3,
};
}
);