2011-10-28 14 views
0

データベースから有効なGeoJSONデータを抽出するPHPスクリプトがあります。今私はjqgridでこれらのデータのグリッドビューを準備したいと思いますが、私はjavascriptコード用の適切なjsonReaderを理解できません。 jqgrid json reader for geoJson

この

は私にGeoJSON出力です:私のグリッドは、行(117)と、ページの右側の数を示し、このリーダーを使って

{"type":"FeatureCollection", 
"total":0, 
"page":1, 
"records":117, 
"features":[ 
    {"geometry":{"type":"Point","coordinates":[12.3,41.70052]}, 
     "type":"Feature", 
     "properties":{ 
     "data":"2006-02-22", 
     "specie":"S. coeruleoalba", 
     "localita":"Ostia", 
     "provincia":"Roma" 
    },"id":0}, 
    {"geometry":{ 
    "type":"Point","coordinates":[15.26667,40.0502]}, 
    "type":"Feature", 
    "properties":{ 
     "data":"2006-03-01", 
     "specie":"S. coeruleoalba", 
     "localita":"Golfo di Salerno", 
     "provincia":"Salerno" 
    },"id":1}, 
    {"geometry":{"type":"Point","coordinates":[14.88333,40.56692]}, 
    "type":"Feature", 
    "properties":{ 
     "data":"2006-03-03", 
     "specie":"S. coeruleoalba", 
     "localita":"Battipaglia", 
     "provincia":"Salerno" 
    },"id":2} 

]} 

が、空のセル

jsonReader : { 
    root: "features", 
    page: "page", 
    total: "total", 
    records: "records", 
    repeatitems: false, 
    cell: "properties", 
    id: "id" 
} 
誰かが書くために私を助けることができる

働くリーダー?事前に感謝

+0

グリッドにはどのような列がありますか? 'プロパティ'はほとんど不明であるようだ。他のすべてのエントリは、データの 'properties'部分に同じ' 'specie''、' 'localita''と '' provincia''プロパティを持っていますか? 1つの項目からは、データの仕組みを理解することは難しいです。 '' features ''配列にもっと多くの項目を含めることができますか? – Oleg

+0

答えがThxのため、私はJsonにいくつかの項目を追加しました – user781065

+0

グリッドに必要な列はまだ書いていません。 – Oleg

答えて

0

はあなたの主なエラーは、cell: "properties"を使用しようということですが、cellプロパティがrepeatitems: false財産の使用の場合にをを無視されます。

あなただけ

jsonReader: { 
    root: "features", 
    repeatitems: false 
} 

を使用して、列ごとにjsonmapプロパティを定義する必要があります。 (デモhereを参照)

enter image description here

:あなたは、次のグリッドにあなたのJSONデータを読み取ることができますその結果

colModel: [ 
    {name: 'coordX', jsonmap:'geometry.coordinates.0', width: 75, sorttype: 'number', 
     formatter: 'number', formatoptions: {decimalPlaces: 5}}, 
    {name: 'coordY', jsonmap:'geometry.coordinates.1', width: 75, sorttype: 'number', 
     formatter: 'number', formatoptions: {decimalPlaces: 5}}, 
    {name: 'data', jsonmap:'properties.data', width: 90, align: 'center', 
     sorttype: 'date', datefmt: 'm/d/Y', 
     formatter: 'date', formatoptions: {newformat: 'm/d/Y'}}, 
    {name: 'specie', jsonmap:'properties.specie', width: 100}, 
    {name: 'localita', jsonmap:'properties.localita', width: 100}, 
    {name: 'provincia', jsonmap:'properties.provincia', width: 80} 
] 

:たとえば次の列定義を使用することができます。あなたのJSONデータでは、totalの値がtotalの値をpageの値より小さくする意味がないため、0から1への変更のみを行いました。

+0

@ user781065:ようこそ! – Oleg