GeoJSON dosyasını jQuery ile ayrıştırma


9

Bir GeoJSON dosyası (aşağıda) üzerinden yineleme ve sonunda "özellikleri" içinde birkaç özniteliklere sahip bir dizi doldurmak çalışıyorum. Bulabileceğim çeşitli örneklerle kısa çalışmalara devam ediyorum. Özelliklere ulaşmak için başka bir $ .each () yerleştirmem gerekiyor mu? Eğer belli değilse bu konuda yeniyim ve duvara çarptım.

Şimdiye kadar ne var:

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

Ve benim json'um şöyle:

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

Yanıtlar:


7

Neredeyse bitti. Val.properties için başka bir .each şöyle çalışmalıdır:

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

2
Teşekkürler Cyrus, hile yaptı. Bunun dışında her kombinasyonu denedim. Ben bir
acemiyim

5

Yukarıda yazılanlar, her JSON nesnesindeki her öğe arasında döngü yapacaktır. Bunlar JSON nesneleridir, bu yüzden onları nesne geometrisi ve özellikleri olarak ele almak ve daha sonra nokta gösterimini kullanarak bunlara başvurmak istersiniz.

$.each(data.features, function (key, val) {
  geometry = val.geometry;
  properties = val.properties;
  alert (properties.place);  
});
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.