2017-07-18 2 views
0

Verwendung von Leaflet JavaScript Ich versuche, Daten direkt von GeoServer über eine Ajax-Verbindung zu übertragen. Um es schön in eine DataTables-Tabelle zu bringen, muss ich JSON.stringy es per DataTables-Anweisungen. Ich bekomme eine "zirkuläre Struktur". Gibt es einen anderen Weg, dies zu tun?GeoJSON-Daten können nicht "gezeich- net" werden

Hier ist mein Code:

Eigenschaften von GeoServer über Ajax hier ist

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); 

Jetzt, wo ich idealy JSON.stringify durch eine sehr nützliche Person zu erreichen Ausgewählte erhalten über diese Ergebnisse liefern würde verwenden bei datatables.net ....

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

denke ich var selectedFeature die Daten zu JSON.stringi wäre richtig? Ich habe es versucht und es hat nicht funktioniert.

+0

JSON können keine benutzerdefinierten Klassen, Funktionen Serialisierung usw. Das JSON-Format unterstützt nur Werttypen Basis (int, bool, string, array, Objektliteral) – casraf

+0

Sie für die Antwort danken. Gibt es eine Möglichkeit, geoJSON-Daten direkt von einem Ajax-Link zu analysieren? Oder es irgendwie einer Var zuordnen und dann analysieren? Ich muss nur die GeoJSON-Daten von Ajax holen und JSON.parse verwenden und sie der Variablen "data" zuweisen. Dann benutze ich diese Daten, um Spalten für Datatables zu erstellen. –

Antwort

1

können Sie exportieren die GeoJSON Layergruppe direkt in eine FeatureCollection mit:

selectedGeoJSON = selectedFeature.toGeoJSON(); 

Dann können Sie das tun, was man will, es stringify, wenn Sie es wünschen.

JSON.stringify(selectedGeoJSON); 
+0

Danke funktioniert perfekt. Vielen Dank! –

Verwandte Themen