use of com.github.desjardins.elemental.XMLSerializer in project gwt-ol3 by TDesjardins.
the class WfsExample method show.
/* (non-Javadoc)
* @see de.desjardins.ol3.demo.client.example.Example#show()
*/
@Override
public void show(String exampleId) {
// create a vector layer
Vector vectorSource = new Vector();
VectorLayerOptions vectorLayerOptions = new VectorLayerOptions();
vectorLayerOptions.setSource(vectorSource);
ol.layer.Vector wfsLayer = new ol.layer.Vector(vectorLayerOptions);
// create a view
View view = new View();
Coordinate centerCoordinate = new Coordinate(-8908887.277395891, 5381918.072437216);
view.setCenter(centerCoordinate);
view.setZoom(12);
view.setMaxZoom(19);
// create the map
MapOptions mapOptions = OLFactory.createOptions();
mapOptions.setTarget(exampleId);
mapOptions.setView(view);
Map map = new Map(mapOptions);
map.addLayer(DemoUtils.createOsmLayer());
map.addLayer(wfsLayer);
Wfs wfs = new Wfs();
WfsWriteFeatureOptions wfsWriteFeatureOptions = new WfsWriteFeatureOptions();
String[] featureTypes = { "water_areas" };
wfsWriteFeatureOptions.setSrsName("EPSG:3857");
wfsWriteFeatureOptions.setFeaturePrefix("osm");
wfsWriteFeatureOptions.setFeatureNS("http://openstreemap.org");
wfsWriteFeatureOptions.setFeatureTypes(featureTypes);
// set a filter
wfsWriteFeatureOptions.setFilter(new IsLike("name", "Mississippi*"));
wfsWriteFeatureOptions.setOutputFormat("application/json");
// create WFS-XML node
Node wfsNode = wfs.writeGetFeature(wfsWriteFeatureOptions);
RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.POST, "https://ahocevar.com/geoserver/wfs");
requestBuilder.setRequestData(new XMLSerializer().serializeToString(wfsNode));
requestBuilder.setCallback(new RequestCallback() {
@Override
public void onResponseReceived(com.google.gwt.http.client.Request request, Response response) {
GeoJson geoJson = new GeoJson();
Feature[] features = geoJson.readFeatures(response.getText());
vectorSource.addFeatures(features);
map.getView().fit(vectorSource.getExtent());
}
@Override
public void onError(com.google.gwt.http.client.Request request, Throwable exception) {
Window.alert(exception.getMessage());
}
});
try {
requestBuilder.send();
} catch (RequestException e) {
Window.alert(e.getMessage());
}
}
Aggregations