use of ol.interaction.SelectOptions 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);
}
});
}
Aggregations