使用javascript迭代geojson对象

时间:2012-11-19 21:30:13

标签: javascript json

我正在研究geodjango项目,需要使用javascript从服务器迭代geojson响应,这样我就可以将它传递到谷歌地图上。我只需要从json迭代返回的坐标“25.92”和“-80,...”。我尝试了各种各样的脚本但没有成功,希望有人能给我一个快速的答案。

{ "crs" : null,
  "features" : [ { "geometry" : { "coordinates" : [ 25.924292000000001,
                -80.124313999999998
              ],
            "type" : "Point"
          },
        "id" : 1,
        "properties" : {  },
        "type" : "Feature"
      } ],
  "type" : "FeatureCollection"
}

2 个答案:

答案 0 :(得分:3)

其中'obj'是表示此对象的变量:

像这样访问

obj.features[0].geometry.coordinates;

像这样分配

var lat = obj.features[0].geometry.coordinates[0],
     lon = obj.features[0].geometry.coordinates[1];

答案 1 :(得分:2)

我会做这样的事情:

var latLons = obj.features.map(function (o) {
    return {lat: o.geometry.coordinates[0], lon: o.geometry.coordinates[1]};
});

如果你有多个latLongs,这是有道理的。这将给出一个对象数组,其中lat和lon定义为您期望的对象。如果您只关心第一个,那么请latLons[0]