use of ol.source.Vector in project gwt-ol3 by TDesjardins.
the class GeoJsonExample method show.
/* (non-Javadoc)
* @see de.desjardins.ol3.demo.client.example.Example#show() */
@Override
public void show(String exampleId) {
// create linestring
Coordinate coordinate1 = new Coordinate(4e6, 2e6);
Coordinate coordinate2 = new Coordinate(8e6, -2e6);
Coordinate[] coordinates = { coordinate1, coordinate2 };
LineString lineString = new LineString(coordinates);
// create feature
FeatureOptions featureOptions = new FeatureOptions();
featureOptions.setGeometry(lineString);
Feature feature = new Feature(featureOptions);
// convert feature to GeoJSON
GeoJson geoJsonFormat = new GeoJson();
java.lang.Object geoJson = geoJsonFormat.writeFeatureObject(feature, null);
// convert features from GeoJSON
Feature featureGeoJson = geoJsonFormat.readFeature(geoJson, null);
// show converted features
Collection<Feature> lstFeatures = new Collection<Feature>();
lstFeatures.push(featureGeoJson);
VectorOptions vectorSourceOptions = new VectorOptions();
vectorSourceOptions.setFeatures(lstFeatures);
Vector vectorSource = new Vector(vectorSourceOptions);
VectorLayerOptions vectorLayerOptions = new VectorLayerOptions();
vectorLayerOptions.setSource(vectorSource);
ol.layer.Vector vectorLayer = new ol.layer.Vector(vectorLayerOptions);
// create a OSM-layer
XyzOptions osmSourceOptions = new XyzOptions();
Osm osmSource = new Osm(osmSourceOptions);
LayerOptions osmLayerOptions = new LayerOptions();
osmLayerOptions.setSource(osmSource);
Tile osmLayer = new Tile(osmLayerOptions);
// create a view
View view = new View();
Coordinate centerCoordinate = new Coordinate(0, 0);
view.setCenter(centerCoordinate);
view.setZoom(2);
// create the map
MapOptions mapOptions = new MapOptions();
mapOptions.setTarget(exampleId);
mapOptions.setView(view);
Collection<Base> lstLayer = new Collection<Base>();
lstLayer.push(osmLayer);
lstLayer.push(vectorLayer);
mapOptions.setLayers(lstLayer);
Map map = new Map(mapOptions);
// add some controls
map.addControl(new ScaleLine());
DemoUtils.addDefaultControls(map.getControls());
// add some interactions
map.addInteraction(new KeyboardPan());
map.addInteraction(new KeyboardZoom());
map.addControl(new Rotate());
}
use of ol.source.Vector in project gwt-ol3 by TDesjardins.
the class MarkerExample method show.
/* (non-Javadoc)
* @see de.desjardins.ol3.demo.client.example.Example#show() */
@Override
public void show(String exampleId) {
// create a point
Coordinate coordinate1 = OLFactory.createCoordinate(4e6, 2e6);
Point point1 = new Point(coordinate1);
// create feature
FeatureOptions featureOptions = OLFactory.createOptions();
featureOptions.setGeometry(point1);
Feature feature = new Feature(featureOptions);
Collection<Feature> features = new Collection<Feature>();
features.push(feature);
// create source
VectorOptions vectorSourceOptions = OLFactory.createOptions();
vectorSourceOptions.setFeatures(features);
Vector vectorSource = new Vector(vectorSourceOptions);
// create style
StyleOptions styleOptions = new StyleOptions();
IconOptions iconOptions = new IconOptions();
iconOptions.setSrc("https://openlayers.org/en/v3.20.1/examples/data/icon.png");
Icon icon = new Icon(iconOptions);
styleOptions.setImage(icon);
Style style = new Style(styleOptions);
VectorLayerOptions vectorLayerOptions = OLFactory.createOptions();
vectorLayerOptions.setSource(vectorSource);
vectorLayerOptions.setStyle(style);
ol.layer.Vector vectorLayer = new ol.layer.Vector(vectorLayerOptions);
// create a OSM-layer
XyzOptions osmSourceOptions = OLFactory.createOptions();
Osm osmSource = new Osm(osmSourceOptions);
LayerOptions osmLayerOptions = OLFactory.createOptions();
osmLayerOptions.setSource(osmSource);
Tile osmLayer = new Tile(osmLayerOptions);
// create a view
View view = new View();
Coordinate centerCoordinate = OLFactory.createCoordinate(0, 0);
view.setCenter(centerCoordinate);
view.setZoom(2);
// create the map
MapOptions mapOptions = new MapOptions();
mapOptions.setTarget(exampleId);
mapOptions.setView(view);
Collection<Base> lstLayer = new Collection<Base>();
lstLayer.push(osmLayer);
lstLayer.push(vectorLayer);
mapOptions.setLayers(lstLayer);
Map map = new Map(mapOptions);
// add some controls
map.addControl(new ScaleLine());
DemoUtils.addDefaultControls(map.getControls());
// add some interactions
map.addInteraction(new KeyboardPan());
map.addInteraction(new KeyboardZoom());
map.addControl(new Rotate());
}
use of ol.source.Vector in project gwt-ol3 by TDesjardins.
the class SelectFeaturesExample method show.
/* (non-Javadoc)
* @see de.desjardins.ol3.demo.client.example.Example#show() */
@Override
public void show(String exampleId) {
Coordinate centerCoordinate = new Coordinate(13.37, 52.52);
Coordinate transformedMidPoint = Projection.transform(centerCoordinate, DemoConstants.EPSG_4326, DemoConstants.EPSG_3857);
// create a polygon
Polygon polygon = DemoUtils.createTestPolygon();
// create a feature
FeatureOptions featureOptions = OLFactory.createOptions();
// TODO Setter for ID seems to doesn't have an effect in feature options.
// featureOptions.setId("g1");
featureOptions.setGeometry(polygon);
Feature feature = new Feature(featureOptions);
feature.setId("g1");
feature.set("name", "triangle");
// create another feature via cloning
Feature feature2 = feature.clone();
feature2.setId("g2");
feature2.getGeometry().rotate(180, transformedMidPoint);
Collection<Feature> lstFeatures = new Collection<Feature>();
lstFeatures.push(feature);
lstFeatures.push(feature2);
VectorOptions vectorSourceOptions = OLFactory.createOptions();
vectorSourceOptions.setFeatures(lstFeatures);
Vector vectorSource = new Vector(vectorSourceOptions);
VectorLayerOptions vectorLayerOptions = OLFactory.createOptions();
vectorLayerOptions.setSource(vectorSource);
ol.layer.Vector vectorLayer = new ol.layer.Vector(vectorLayerOptions);
// create an OSM-layer
XyzOptions osmSourceOptions = OLFactory.createOptions();
Osm osmSource = new Osm(osmSourceOptions);
LayerOptions osmLayerOptions = OLFactory.createOptions();
osmLayerOptions.setSource(osmSource);
Tile osmLayer = new Tile(osmLayerOptions);
// create a view
View view = new View();
view.setCenter(transformedMidPoint);
view.setZoom(14);
// create the map
MapOptions mapOptions = OLFactory.createOptions();
mapOptions.setTarget(exampleId);
mapOptions.setView(view);
Collection<Base> lstLayer = new Collection<Base>();
lstLayer.push(osmLayer);
lstLayer.push(vectorLayer);
mapOptions.setLayers(lstLayer);
Map map = new Map(mapOptions);
// add some controls
map.addControl(new ScaleLine());
MousePositionOptions mousePositionOptions = OLFactory.createOptions();
ProjectionOptions projectionOptions = OLFactory.createOptions();
projectionOptions.setCode(DemoConstants.EPSG_4326);
mousePositionOptions.setProjection(new Projection(projectionOptions));
MousePosition mousePosition = new MousePosition(mousePositionOptions);
mousePosition.setCoordinateFormat(Coordinate.createStringXY(5));
map.addControl(mousePosition);
SelectOptions selectOptions = new SelectOptions();
selectOptions.setCondition(Condition.getClick());
// create a select interaction
final Select selectFeature = new Select(selectOptions);
map.addInteraction(selectFeature);
selectFeature.on("select", (event) -> {
Collection<Feature> selectedFeatures = selectFeature.getFeatures();
if (selectedFeatures.getLength() > 0) {
Feature selectedFeature = selectedFeatures.item(0);
String output = "You selected feature with id '" + selectedFeature.getId() + "'" + " and name '" + selectedFeature.get("name") + "'" + " and geometry name '" + selectedFeature.getGeometryName() + "'" + ".";
Window.alert(output);
}
});
}
use of ol.source.Vector 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());
}
}
use of ol.source.Vector in project gwt-ol3 by TDesjardins.
the class ClusterExample method show.
/* (non-Javadoc)
* @see de.desjardins.ol3.demo.client.example.Example#show() */
@Override
public void show(String exampleId) {
Collection<Feature> features = new Collection<Feature>();
int e = 450000;
for (int i = 0; i < 20000; ++i) {
// create a point
Coordinate coordinate = new Coordinate(2 * e * Math.random() - e, 2 * e * Math.random() - e);
Point point = new Point(coordinate);
// create feature
FeatureOptions featureOptions = new FeatureOptions();
featureOptions.setGeometry(point);
Feature feature = new Feature(featureOptions);
features.push(feature);
}
// create source
VectorOptions vectorSourceOptions = new VectorOptions();
vectorSourceOptions.setFeatures(features);
Vector vectorSource = new Vector(vectorSourceOptions);
// create clustering
ClusterOptions clusterOptions = new ClusterOptions();
clusterOptions.setDistance(40);
clusterOptions.setSource(vectorSource);
Cluster clusterSource = new Cluster(clusterOptions);
// create vector layer
VectorLayerOptions vectorLayerOptions = new VectorLayerOptions();
vectorLayerOptions.setSource(clusterSource);
vectorLayerOptions.setStyle(new GenericFunction<Feature, Style[]>() {
@Override
public Style[] call(Feature cluster) {
// create style
List<Style> style = new ArrayList<>();
Feature[] features = (Feature[]) cluster.get("features");
int clusterSize = features.length;
StyleOptions styleOptions = new StyleOptions();
TextOptions textOptions = new TextOptions();
textOptions.setText(String.valueOf(clusterSize));
styleOptions.setText(new Text(textOptions));
CircleOptions circleOptions = new CircleOptions();
circleOptions.setRadius(10);
Color color = Color.getColorFromString("#3399CC");
circleOptions.setFill(OLFactory.createFill(color));
styleOptions.setImage(new Circle(circleOptions));
style.add(new Style(styleOptions));
return style.toArray(new Style[0]);
}
});
ol.layer.Vector vectorLayer = new ol.layer.Vector(vectorLayerOptions);
// create a OSM-layer
XyzOptions osmSourceOptions = new XyzOptions();
Osm osmSource = new Osm(osmSourceOptions);
LayerOptions osmLayerOptions = new LayerOptions();
osmLayerOptions.setSource(osmSource);
Tile osmLayer = new Tile(osmLayerOptions);
// create a view
View view = new View();
Coordinate centerCoordinate = new Coordinate(0, 0);
view.setCenter(centerCoordinate);
view.setZoom(2);
// create the map
MapOptions mapOptions = new MapOptions();
mapOptions.setTarget(exampleId);
mapOptions.setView(view);
Collection<Base> lstLayer = new Collection<Base>();
lstLayer.push(osmLayer);
lstLayer.push(vectorLayer);
mapOptions.setLayers(lstLayer);
Map map = new Map(mapOptions);
// add some controls
map.addControl(new ScaleLine());
DemoUtils.addDefaultControls(map.getControls());
// add some interactions
map.addInteraction(new KeyboardPan());
map.addInteraction(new KeyboardZoom());
map.addControl(new Rotate());
}
Aggregations