jQuery로 GeoJSON 파일 파싱


9

GeoJSON 파일 (아래)을 반복하여 "속성"내에 몇 가지 속성으로 배열을 채우려 고합니다. 내가 찾을 수있는 다양한 예제를 통해 계속해서 일하고 있습니다. 속성을 얻으려면 다른 $ .each ()를 포함시켜야합니까? 그것이 분명하지 않다면 나는 이것을 처음 접했고 벽에 부딪쳤다.

내가 지금까지 무엇을 :

$(document).ready(function () {    
            $.getJSON('testpoint.geojson', function (data) {
                var items = [];
                $.each(data.features, function (key, val) {
                    items.push('<li id="' + key + '">' + val + '</li>');
                });
                $('<ul/>', {
                    'class':'my-new-list',
                    html:items.join('')
                }).appendTo('body');
            });
        });

그리고 내 json은 다음과 같습니다.

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "properties": {
                "gid": 1,
                "PID": "9-18-3",
                "BCT": "BCT126",
                "OWNER_TYPE": "A",
                "LOCNO": 0,
                "LOCEXT": "",
                "STREET": "CROSBY LANE",
                "ACQUIRED": "5/7/2010",
                "GRANTOR": "John A. SPARGO",
                "UPLAND": 0,
                "WETLAND": 3.96,
                "TOTAL": 3.96,
                "HABITAT": "salt marsh"
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    -70.03209,
                    41.78278
                ]
            }
        }
    ]
}

답변:


7

거의 다 왔습니다. val.properties에 대한 다른 .each는 다음과 같이 작동합니다.

$.each(data.features, function (key, val) {
    $.each(val.properties, function(i,j){
        items.push('<li id="' + i + '">' + j + '</li>');
    })              
});

2
고마워 사이러스, 그 트릭을했다. 나는 모든 콤보를 시도했지만 그. 나는 초보자이며 반복이 빠르게 압도적 일 수 있습니다
geomajor56

5

위에서 작성된 내용은 각 JSON 객체의 각 요소를 반복합니다. 그것들은 JSON 객체이므로 객체 지오메트리 및 속성으로 취급하고 도트 표기법을 사용하여 단순히 참조하려고합니다.

$.each(data.features, function (key, val) {
  geometry = val.geometry;
  properties = val.properties;
  alert (properties.place);  
});
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.