Search in sources :

Example 1 with Text

use of ol.style.Text 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());
}
Also used : XyzOptions(ol.source.XyzOptions) ScaleLine(ol.control.ScaleLine) KeyboardPan(ol.interaction.KeyboardPan) Rotate(ol.control.Rotate) MapOptions(ol.MapOptions) Feature(ol.Feature) LayerOptions(ol.layer.LayerOptions) VectorLayerOptions(ol.layer.VectorLayerOptions) TextOptions(ol.style.TextOptions) FeatureOptions(ol.FeatureOptions) CircleOptions(ol.style.CircleOptions) Style(ol.style.Style) ArrayList(java.util.ArrayList) List(java.util.List) Vector(ol.source.Vector) Circle(ol.style.Circle) Color(ol.color.Color) Osm(ol.source.Osm) Cluster(ol.source.Cluster) StyleOptions(ol.style.StyleOptions) Tile(ol.layer.Tile) Text(ol.style.Text) Point(ol.geom.Point) View(ol.View) Point(ol.geom.Point) Base(ol.layer.Base) ClusterOptions(ol.source.ClusterOptions) VectorLayerOptions(ol.layer.VectorLayerOptions) Coordinate(ol.Coordinate) KeyboardZoom(ol.interaction.KeyboardZoom) Collection(ol.Collection) Map(ol.Map) VectorOptions(ol.source.VectorOptions)

Aggregations

ArrayList (java.util.ArrayList)1 List (java.util.List)1 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 Color (ol.color.Color)1 Rotate (ol.control.Rotate)1 ScaleLine (ol.control.ScaleLine)1 Point (ol.geom.Point)1 KeyboardPan (ol.interaction.KeyboardPan)1 KeyboardZoom (ol.interaction.KeyboardZoom)1 Base (ol.layer.Base)1 LayerOptions (ol.layer.LayerOptions)1 Tile (ol.layer.Tile)1 VectorLayerOptions (ol.layer.VectorLayerOptions)1 Cluster (ol.source.Cluster)1