Search in sources :

Example 1 with SelectOptions

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);
        }
    });
}
Also used : XyzOptions(ol.source.XyzOptions) ScaleLine(ol.control.ScaleLine) MapOptions(ol.MapOptions) MousePositionOptions(ol.control.MousePositionOptions) Projection(ol.proj.Projection) Feature(ol.Feature) LayerOptions(ol.layer.LayerOptions) VectorLayerOptions(ol.layer.VectorLayerOptions) FeatureOptions(ol.FeatureOptions) MousePosition(ol.control.MousePosition) Polygon(ol.geom.Polygon) Vector(ol.source.Vector) SelectOptions(ol.interaction.SelectOptions) Osm(ol.source.Osm) Tile(ol.layer.Tile) View(ol.View) Base(ol.layer.Base) VectorLayerOptions(ol.layer.VectorLayerOptions) Coordinate(ol.Coordinate) Select(ol.interaction.Select) Collection(ol.Collection) ProjectionOptions(ol.proj.ProjectionOptions) Map(ol.Map) VectorOptions(ol.source.VectorOptions)

Aggregations

Collection (ol.Collection)1 Coordinate (ol.Coordinate)1 Feature (ol.Feature)1 FeatureOptions (ol.FeatureOptions)1 Map (ol.Map)1 MapOptions (ol.MapOptions)1 View (ol.View)1 MousePosition (ol.control.MousePosition)1 MousePositionOptions (ol.control.MousePositionOptions)1 ScaleLine (ol.control.ScaleLine)1 Polygon (ol.geom.Polygon)1 Select (ol.interaction.Select)1 SelectOptions (ol.interaction.SelectOptions)1 Base (ol.layer.Base)1 LayerOptions (ol.layer.LayerOptions)1 Tile (ol.layer.Tile)1 VectorLayerOptions (ol.layer.VectorLayerOptions)1 Projection (ol.proj.Projection)1 ProjectionOptions (ol.proj.ProjectionOptions)1 Osm (ol.source.Osm)1