Search in sources :

Example 6 with LayerOptions

use of ol.layer.LayerOptions 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)

Example 7 with LayerOptions

use of ol.layer.LayerOptions in project gwt-ol3 by TDesjardins.

the class TileExample method show.

/* (non-Javadoc)
     * @see de.desjardins.ol3.demo.client.example.Example#show()
     */
@Override
public void show(String exampleId) {
    LayerOptions stamenLayerOptions = OLFactory.createOptions();
    // create a Stamen-layer
    StamenOptions stamenOptions = OLFactory.createOptions();
    stamenOptions.setLayer("watercolor");
    Stamen stamenSource = new Stamen(stamenOptions);
    stamenLayerOptions.setSource(stamenSource);
    Tile stamenLayer = new Tile(stamenLayerOptions);
    // create a view
    View view = new View();
    Coordinate centerCoordinate = OLFactory.createCoordinate(1490463, 6894388);
    view.setCenter(centerCoordinate);
    view.setZoom(10);
    // create the map
    MapOptions mapOptions = OLFactory.createOptions();
    mapOptions.setTarget(exampleId);
    mapOptions.setView(view);
    Map map = new Map(mapOptions);
    stamenLayer.setOpacity(0.5f);
    // add some controls
    map.addControl(new ScaleLine());
    DemoUtils.addDefaultControls(map.getControls());
    Attribution attribution = new Attribution();
    attribution.setCollapsed(true);
    map.addControl(attribution);
    // add some interactions
    map.addInteraction(new KeyboardPan());
    map.addInteraction(new KeyboardZoom());
    DragAndDrop dragAndDrop = new DragAndDrop();
    map.addInteraction(dragAndDrop);
    EventListener<DragAndDrop.Event> eventListener = new EventListener<DragAndDrop.Event>() {

        @Override
        public void onEvent(DragAndDrop.Event event) {
            Window.alert(String.valueOf(event.getFeatures().length));
            Window.alert(event.getProjection().getUnits());
            Window.alert(String.valueOf(event.getProjection().getMetersPerUnit()));
        }
    };
    dragAndDrop.on("addfeatures", eventListener);
    map.addControl(new Rotate());
    map.getLayers().push(stamenLayer);
}
Also used : ScaleLine(ol.control.ScaleLine) KeyboardPan(ol.interaction.KeyboardPan) Stamen(ol.source.Stamen) Rotate(ol.control.Rotate) MapOptions(ol.MapOptions) Tile(ol.layer.Tile) LayerOptions(ol.layer.LayerOptions) View(ol.View) Attribution(ol.control.Attribution) StamenOptions(ol.source.StamenOptions) DragAndDrop(ol.interaction.DragAndDrop) Coordinate(ol.Coordinate) KeyboardZoom(ol.interaction.KeyboardZoom) EventListener(ol.event.EventListener) Map(ol.Map)

Example 8 with LayerOptions

use of ol.layer.LayerOptions in project gwt-ol3 by TDesjardins.

the class WmsExample method show.

/* (non-Javadoc)
     * @see de.desjardins.ol3.demo.client.example.Example#show()
     */
@Override
public void show(String exampleId) {
    ImageWmsParams imageWMSParams = OLFactory.createOptions();
    imageWMSParams.setLayers("ch.swisstopo.geologie-geotechnik-gk500-gesteinsklassierung,ch.bafu.schutzgebiete-paerke_nationaler_bedeutung");
    ImageWmsOptions imageWMSOptions = OLFactory.createOptions();
    imageWMSOptions.setUrl("http://wms.geo.admin.ch/");
    imageWMSOptions.setParams(imageWMSParams);
    imageWMSOptions.setRatio(1.5f);
    ImageWms imageWMSSource = new ImageWms(imageWMSOptions);
    LayerOptions layerOptions = OLFactory.createOptions();
    layerOptions.setSource(imageWMSSource);
    Image wmsLayer = new Image(layerOptions);
    // create a projection
    ProjectionOptions projectionOptions = OLFactory.createOptions();
    projectionOptions.setCode("EPSG:21781");
    projectionOptions.setUnits("m");
    Projection projection = new Projection(projectionOptions);
    // create a view
    ViewOptions viewOptions = OLFactory.createOptions();
    viewOptions.setProjection(projection);
    View view = new View(viewOptions);
    Coordinate centerCoordinate = new Coordinate(660000, 190000);
    view.setCenter(centerCoordinate);
    view.setZoom(9);
    // create the map
    MapOptions mapOptions = OLFactory.createOptions();
    mapOptions.setTarget(exampleId);
    mapOptions.setView(view);
    Map map = new Map(mapOptions);
    map.addLayer(wmsLayer);
    // 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());
}
Also used : ScaleLine(ol.control.ScaleLine) KeyboardPan(ol.interaction.KeyboardPan) ImageWmsOptions(ol.source.ImageWmsOptions) Rotate(ol.control.Rotate) MapOptions(ol.MapOptions) ViewOptions(ol.ViewOptions) Projection(ol.proj.Projection) Image(ol.layer.Image) LayerOptions(ol.layer.LayerOptions) View(ol.View) Coordinate(ol.Coordinate) KeyboardZoom(ol.interaction.KeyboardZoom) ImageWmsParams(ol.source.ImageWmsParams) ProjectionOptions(ol.proj.ProjectionOptions) Map(ol.Map) ImageWms(ol.source.ImageWms)

Example 9 with LayerOptions

use of ol.layer.LayerOptions in project gwt-ol3 by TDesjardins.

the class MapEventsExample method show.

/* (non-Javadoc)
     * @see de.desjardins.ol3.demo.client.example.Example#show()
     */
@Override
public void show(String exampleId) {
    // 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 = new Coordinate(-0.1275, 51.507222);
    Coordinate transformedCenterCoordinate = Projection.transform(centerCoordinate, DemoConstants.EPSG_4326, DemoConstants.EPSG_3857);
    view.setCenter(transformedCenterCoordinate);
    view.setZoom(10);
    // create the map
    MapOptions mapOptions = OLFactory.createOptions();
    mapOptions.setTarget(exampleId);
    mapOptions.setView(view);
    Map map = new Map(mapOptions);
    map.addLayer(osmLayer);
    // add some controls
    map.addControl(new ScaleLine());
    DemoUtils.addDefaultControls(map.getControls());
    Attribution attribution = new Attribution();
    attribution.setCollapsed(true);
    map.addControl(attribution);
    // clear default interactions
    map.getInteractions().clear();
    // add some interactions
    map.addInteraction(new DragPan());
    map.addInteraction(new KeyboardPan());
    map.addInteraction(new KeyboardZoom());
    map.addInteraction(new MouseWheelZoom());
    // add event handlers
    map.addDoubleClickListener(evt -> Window.alert("double click at " + evt.getCoordinate().getX() + ", " + evt.getCoordinate().getX()));
    map.addMapZoomListener(evt -> GWT.log("onZoom"));
    map.addMapZoomEndListener(evt -> GWT.log("onMapZoomEnd"));
}
Also used : XyzOptions(ol.source.XyzOptions) ScaleLine(ol.control.ScaleLine) KeyboardPan(ol.interaction.KeyboardPan) MapOptions(ol.MapOptions) Osm(ol.source.Osm) Tile(ol.layer.Tile) LayerOptions(ol.layer.LayerOptions) View(ol.View) Attribution(ol.control.Attribution) Coordinate(ol.Coordinate) KeyboardZoom(ol.interaction.KeyboardZoom) MouseWheelZoom(ol.interaction.MouseWheelZoom) Map(ol.Map) DragPan(ol.interaction.DragPan)

Example 10 with LayerOptions

use of ol.layer.LayerOptions in project gwt-ol3 by TDesjardins.

the class AnimationExample 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 an 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();
    view.setCenter(transformedMidPoint);
    view.setZoom(16);
    // create the map
    MapOptions mapOptions = new MapOptions();
    mapOptions.setLoadTilesWhileAnimating(true);
    mapOptions.setTarget(exampleId);
    mapOptions.setView(view);
    Collection<Base> lstLayer = new Collection<Base>();
    lstLayer.push(osmLayer);
    mapOptions.setLayers(lstLayer);
    Map map = new Map(mapOptions);
    // add some controls
    map.addControl(new ScaleLine());
    MousePositionOptions mousePositionOptions = new MousePositionOptions();
    ProjectionOptions projectionOptions = new ProjectionOptions();
    projectionOptions.setCode(DemoConstants.EPSG_4326);
    mousePositionOptions.setProjection(new Projection(projectionOptions));
    MousePosition mousePosition = new MousePosition(mousePositionOptions);
    mousePosition.setCoordinateFormat(Coordinate.createStringXY(5));
    map.addControl(mousePosition);
    Coordinate tvTowerCoordinate = Projection.transform(new Coordinate(13.409, 52.52), DemoConstants.EPSG_4326, DemoConstants.EPSG_3857);
    Coordinate pplaceCoordinate = Projection.transform(new Coordinate(13.377, 52.509), DemoConstants.EPSG_4326, DemoConstants.EPSG_3857);
    Coordinate zooCoordinate = Projection.transform(new Coordinate(13.338, 52.508), DemoConstants.EPSG_4326, DemoConstants.EPSG_3857);
    final List<Coordinate> coordinates = Arrays.asList(transformedMidPoint, tvTowerCoordinate, pplaceCoordinate, zooCoordinate);
    Scheduler.get().scheduleFixedPeriod(() -> {
        int index = getNextIndex(coordinates.size());
        AnimationOptions panAnimationOptions = new AnimationOptions();
        panAnimationOptions.setDuration(2000);
        // Switch this to rotate the animation while animating.
        // panAnimationOptions.setRotation(view.getRotation() + 2 * Math.PI);
        panAnimationOptions.setCenter(coordinates.get(index));
        view.animate(panAnimationOptions);
        AnimationOptions zoomOutAnimationOptions = new AnimationOptions();
        zoomOutAnimationOptions.setDuration(1000);
        zoomOutAnimationOptions.setResolution(view.getResolution() + 4);
        AnimationOptions zoomInAnimationOptions = new AnimationOptions();
        zoomInAnimationOptions.setDuration(1000);
        zoomInAnimationOptions.setResolution(view.getResolution());
        view.animate(zoomOutAnimationOptions, zoomInAnimationOptions);
        return true;
    }, 6000);
}
Also used : XyzOptions(ol.source.XyzOptions) ScaleLine(ol.control.ScaleLine) MapOptions(ol.MapOptions) MousePositionOptions(ol.control.MousePositionOptions) Osm(ol.source.Osm) Tile(ol.layer.Tile) Projection(ol.proj.Projection) LayerOptions(ol.layer.LayerOptions) View(ol.View) Base(ol.layer.Base) MousePosition(ol.control.MousePosition) Coordinate(ol.Coordinate) AnimationOptions(ol.animation.AnimationOptions) Collection(ol.Collection) ProjectionOptions(ol.proj.ProjectionOptions) Map(ol.Map)

Aggregations

LayerOptions (ol.layer.LayerOptions)23 Coordinate (ol.Coordinate)21 Map (ol.Map)21 MapOptions (ol.MapOptions)21 View (ol.View)21 Tile (ol.layer.Tile)18 XyzOptions (ol.source.XyzOptions)16 Osm (ol.source.Osm)14 ScaleLine (ol.control.ScaleLine)13 KeyboardPan (ol.interaction.KeyboardPan)12 KeyboardZoom (ol.interaction.KeyboardZoom)12 Collection (ol.Collection)8 Rotate (ol.control.Rotate)8 Base (ol.layer.Base)8 Attribution (ol.control.Attribution)6 MousePosition (ol.control.MousePosition)6 VectorLayerOptions (ol.layer.VectorLayerOptions)6 Projection (ol.proj.Projection)6 ViewOptions (ol.ViewOptions)5 Image (ol.layer.Image)5