2017-07-18 38 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

谢谢完美。非常感谢! –