目前正致力于使用Leaflet和Data Science Toolkit(DSTK)在Meteor中绘制地址以进行地理编码的项目。发送带有三个地址的curl POST请求我得到以下数据:
{ "901 North Jackson Street, Junction City KS 66441": {
"country_code3": "USA",
"latitude": 39.031397,
"country_name": "United States",
"longitude": -96.837184,
"street_address": "901 N Jackson St",
"region": "KS",
"confidence": 1.0,
"street_number": "901",
"locality": "Junction City",
"street_name": "N Jackson St",
"fips_county": "20061",
"country_code": "US" },
"300 South Parkside Drive, Colorado Springs CO 80901": {
"country_code3": "USA",
"latitude": 38.828775,
"country_name": "United States",
"longitude": -104.79034,
"street_address": "300 S Parkside Dr",
"region": "CO",
"confidence": 0.805,
"street_number": "300",
"locality": "Colorado Springs",
"street_name": "S Parkside Dr",
"fips_county": "08041",
"country_code": "US" },
"1412 Kensington Avenue, Kansas City MO 64127": {
"country_code3": "USA",
"latitude": 39.095286,
"country_name": "United States",
"longitude": -94.530828,
"street_address": "1412 Kensington Ave",
"region": "MO",
"confidence": 1.0,
"street_number": "1412",
"locality": "Kansas City",
"street_name": "Kensington Ave",
"fips_county": "29095",
"country_code": "US" } }
我要做的是循环这些结果并以Geojson格式插入mongodb。使用上面的最后一个地址,它将如下所示:
var geojsonFeature = {
"type": "Feature",
"properties": {
"name": "1412 Kensington Avenue, Kansas City MO 64127",
"popupContent": "1412 Kensington Avenue, Kansas City MO 64127"
},
"geometry": {
"type": "Point",
"coordinates": [-94.530828, 39.095286]
}
};
非常感谢任何建议。
答案 0 :(得分:0)
让我们说a
是您从POST获得的对象。它有3个顶级键。 You can iterate over these for (var property in a){}
与string
- 每个顶级键都将作为a[property]
返回。然后,您可以使用该字符串使用括号表示法let geojsonFeature = {};
for (var property in a){
if ( a.hasOwnProperty(property) ){
geojsonFeature = {
"type": "Feature",
"properties": {
"name": property,
"popupContent": property
},
"geometry": {
"type": "Point",
"coordinates": [ a[property].longitude a[property].latitude ]
}
};
myGeoJsonFeatures.insert(geojsonFeature); // save geojsonFeature to your collection
}
}
索引到整个对象,如下所示:
eval