Phân tích tệp GeoJSON bằng jQuery


9

Tôi đang cố gắng lặp lại thông qua tệp GeoJSON (bên dưới) và cuối cùng điền vào một mảng với một vài thuộc tính trong "thuộc tính". Tôi tiếp tục làm việc ngắn qua các ví dụ khác nhau mà tôi có thể tìm thấy. Tôi có cần nhúng $ .each () khác để vào thuộc tính không. Nếu nó không rõ ràng thì tôi mới biết điều này và tôi đã va vào tường.

Những gì tôi có cho đến nay:

$(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');
            });
        });

Và json của tôi là như sau:

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

Câu trả lời:


7

Bạn gần như ở đó. Một .each khác cho val.properies nên hoạt động:

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

2
Cảm ơn Cyrus, đã làm điều đó. Tôi đã thử mọi combo nhưng điều đó. Tôi là người mới bắt đầu và lặp đi lặp lại có thể trở nên áp đảo nhanh chóng
geomajor56

5

Những gì được viết ở trên sẽ lặp qua từng phần tử trong mỗi đối tượng JSON. Đó là các đối tượng JSON, vì vậy bạn muốn coi chúng là các đối tượng hình học và thuộc tính sau đó chỉ cần tham chiếu chúng bằng cách sử dụng ký hiệu dấu chấm.

$.each(data.features, function (key, val) {
  geometry = val.geometry;
  properties = val.properties;
  alert (properties.place);  
});
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.