Parsing file GeoJSON dengan jQuery


9

Saya mencoba untuk beralih melalui file GeoJSON (di bawah) dan akhirnya mengisi array dengan beberapa atribut dalam "properti". Saya terus bekerja singkat melalui berbagai contoh yang bisa saya temukan. Apakah saya perlu menyematkan $ .each () lainnya untuk mendapatkan properti. Jika tidak jelas saya baru dalam hal ini dan saya telah menabrak dinding.

Apa yang saya miliki sejauh ini:

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

Dan json saya adalah sebagai berikut:

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

Jawaban:


7

Anda hampir sampai. .Each lain untuk val.properties harus berfungsi:

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

2
Terima kasih Cyrus, itu berhasil. Saya mencoba setiap kombo kecuali itu. Saya seorang pemula dan iterasi dapat menjadi luar biasa dengan cepat
geomajor56

5

Apa yang tertulis di atas akan berulang melalui setiap elemen di setiap objek JSON. Itu adalah objek JSON sehingga Anda ingin memperlakukannya sebagai objek geometri dan properti kemudian cukup rujuk menggunakan notasi titik.

$.each(data.features, function (key, val) {
  geometry = val.geometry;
  properties = val.properties;
  alert (properties.place);  
});
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.