2016-09-07 67 views
0

目前正在使用Leaflet和数据科学工具包(DSTK)进行地理编码的项目中绘制Meteor地址。发送带有三个地址卷曲POST请求我得到以下数据恢复:流星解析JSON地理日期

 { "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

比方说,a是您从POST获得的对象。它有3个顶级键。 You can iterate over thesefor (var property in a){} - 每个顶级密钥将作为string返回。然后,您可以使用该字符串来索引整个对象与支架符号a[property]如下:

​​
+0

米歇尔 - 谢谢你这么多,非常完美!解释和链接也对理解非常有帮助。 – Godfried

+0

很高兴为你效劳! –

+0

所以现在我碰到了另一个与上面相关的问题。如果我发送带有三个地址的curl请求来进行地理编码并输出返回到控制台的json数据,我会看到所有三个。但是,如果我对mongodb执行插入操作,它只会显示返回的第一个地址解析地址。因此,如果我使用 'myGeoJsonFeatures.insert(geojsonFeature)' ,那么在上述解决方案中,只有第一个地址编码地址被插入到mongo中。如果我用 'console.log(geojsonFeature)' 显示所有三个地理编码地址。 – Godfried