2017-07-18 71 views
0

使用Leaflet JavaScript我想使用Ajax鏈接直接從GeoServer中獲取數據。爲了將它很好地放在DataTables表中,我需要按照DataTables指令對其進行JSON.string化。我得到一個「圓形結構」。有沒有其他方法可以做到這一點?不能「串化」geoJSON數據

這裏是我的代碼:

獲得通過Ajax

從GeoServer的選擇的特徵
function handleJson(data) { 

    selectedFeature = L.geoJson(data, { 

    onEachFeature: function (feature, layer) { 

    }, 
    pointToLayer: function (feature, latlng) { 

     return L.circleMarker(latlng, { 
      radius: 5, 
      color: '#3006e8', 
      weight: 5, 
      opacity: 100, 
      fillOpacity: 100 
     }); 
    } 
    }); 
    selectedFeature.addTo(drawnItems); 

現在,這裏是我會idealy使用JSON.stringify實現這些結果提供通過以非常樂於助人的人了datatables.net ....

http://live.datatables.net/sokitihe/3/edit

我覺得VAR selectedFeature將是數據JSON.stringi對嗎?我試過了,但沒有奏效。

+0

JSON不能序列的自定義類,函數等的JSON格式僅支持基本值類型(int,布爾,字符串,數組,對象常量) – casraf

+0

謝謝你的響應。有沒有什麼辦法直接從Ajax鏈接解析geoJSON數據?或者以某種方式將其分配給一個變種,然後解析它?我只需要從Ajax獲取GeoJSON數據並使用JSON.parse並將其分配給變量「data」,然後使用該數據爲Datatables構建列。 –

回答

1

您可以直接導出以GeoJSON圖層組到使用的FeatureCollection:

selectedGeoJSON = selectedFeature.toGeoJSON(); 

那麼你可以做你想做的事情是什麼,它字符串化,如果你想。

JSON.stringify(selectedGeoJSON); 
+0

謝謝完美。非常感謝! –