use of ol.style.Style 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.style.Style in project gwt-ol3 by TDesjardins.
the class VectorTest method testVectorLayer.
@SuppressWarnings({ "static-method", "javadoc" })
public void testVectorLayer() {
injectUrlAndTest(() -> {
VectorLayerOptions vectorLayerOptions = new VectorLayerOptions();
assertNotNull(vectorLayerOptions);
Vector vectorLayer = new Vector(vectorLayerOptions);
assertTrue(vectorLayer instanceof Base);
assertTrue(vectorLayer instanceof Vector);
vectorLayer.setStyle(new Style());
assertTrue(vectorLayer.getStyle() instanceof Style);
assertTrue(vectorLayer.getStyles() instanceof Style[]);
Style[] styles = { new Style(), new Style() };
vectorLayer.setStyles(styles);
assertTrue(vectorLayer.getStyle() instanceof Style);
assertTrue(vectorLayer.getStyles() instanceof Style[]);
assertTrue(vectorLayer.getStyles().length == 2);
vectorLayer.setStyleFunction((Feature feature) -> {
return null;
});
assertTrue(vectorLayer.getStyle() == null);
assertTrue(vectorLayer.getStyleFunction() instanceof GenericFunction);
});
}
use of ol.style.Style in project gwt-ol3 by TDesjardins.
the class Measure method start.
/**
* Start measuring using existing interaction.
*
* @param type
* measure geometry type
* @param listener
* {@link MeasureListener}
* @param immediate
* Fire events on every change to the measured geometry? If false
* only one event after finishing is fired. (default is true)
* @param persist
* Keep the temporary measurement sketch drawn after the
* measurement is complete. The geometry will persist until a new
* measurement is started, the control is deactivated, or
* {@link #stop()} is called.
*/
private void start(String type, MeasureListener listener, boolean immediate, boolean persist) {
// clean up old instance
stop();
this.listener = listener;
// set up interaction
DrawOptions drawOptions = OLFactory.createOptions();
drawOptions.setType(type);
// use a special style?
if (style != null) {
drawOptions.setStyle(style);
}
draw = OLFactory.createDraw(drawOptions);
// persist measured features?
if (persist) {
// set up overlay options
VectorLayerOptions voptions = OLFactory.createLayerOptionsWithSource(OLFactory.createVectorSource());
if (style != null) {
Style[] styles = new Style[1];
styles[0] = style;
voptions.setStyle(styles);
} else {
// create a default style resembling the default editing style,
// but adding a border to polygons
Style sPoly = OLFactory.createStyle(OLFactory.createFill(OLFactory.createColor(255, 255, 255, 0.5)));
Style sLine1 = OLFactory.createStyle(OLFactory.createStroke(OLFactory.createColor(255, 255, 255, 1), 5));
Style sLine2 = OLFactory.createStyle(OLFactory.createStroke(OLFactory.createColor(0, 153, 255, 1), 3));
// combine all styles
Style[] s = OLUtil.pushItem(OLUtil.combineStyles(sPoly, sLine1), sLine2);
voptions.setStyle(s);
}
// create an overlay and attach it to the map
persistOverlay = OLFactory.createVector(voptions);
persistOverlay.setMap(map);
}
// set up projection to be used
proj = map.getView().getProjection();
map.addInteraction(draw);
// set up event handlers
OLUtil.observe(draw, "drawstart", new EventListener<Draw.Event>() {
@Override
public void onEvent(Draw.Event event) {
// remember measure feature
sketch = event.getFeature();
// clean up overlay
if (persistOverlay != null) {
persistOverlay.<ol.source.Vector>getSource().clear(false);
}
}
});
OLUtil.observe(draw, "drawend", new EventListener<Draw.Event>() {
@Override
public void onEvent(Draw.Event event) {
// fire event and clean up
fireMeasureEvent();
// persist feature?
if (persistOverlay != null) {
persistOverlay.<ol.source.Vector>getSource().addFeature(sketch);
}
sketch = null;
}
});
// handle mouse move if immediate updates are requested
if (immediate) {
// enable mouse move events on the viewport
Element elem = map.getViewport();
com.google.gwt.user.client.Event.sinkEvents(elem, com.google.gwt.user.client.Event.ONMOUSEMOVE);
// remember old event listener before chaining this listener
// in-between
chainedListener = com.google.gwt.user.client.Event.getEventListener(elem);
com.google.gwt.user.client.Event.setEventListener(elem, new com.google.gwt.user.client.EventListener() {
@Override
public void onBrowserEvent(com.google.gwt.user.client.Event event) {
// check for mouse move events only
if (event.getType() == "mousemove") {
// check if interaction is active and fire event
if (draw.getActive()) {
fireMeasureEvent();
}
}
// call chained handler
if (chainedListener != null) {
chainedListener.onBrowserEvent(event);
}
}
});
eventListenerNeedsCleanup = true;
}
// set flag
isActive = true;
}
use of ol.style.Style in project gwt-ol3 by TDesjardins.
the class OLUtilTest method testOLUtil.
public void testOLUtil() {
injectUrlAndTest(() -> {
Style[] styles = { new Style(), new Style() };
Style newStyle = new Style();
assertTrue(styles.length == 2);
OLUtil.pushItem(styles, newStyle);
assertTrue(styles.length == 3);
Style[] styles1 = { new Style(), new Style() };
Style[] styles2 = { new Style(), new Style(), new Style() };
assertTrue(styles1.length == 2);
assertTrue(styles2.length == 3);
Style[] combinedStyles = OLUtil.concatArrays(styles1, styles2);
assertNotNull(combinedStyles);
assertTrue(combinedStyles.length == 5);
});
}
use of ol.style.Style in project gwt-ol3 by TDesjardins.
the class FeatureTest method testFeature.
public void testFeature() {
injectUrlAndTest(() -> {
Feature feature = new Feature();
assertNotNull(feature);
assertTrue(feature instanceof Object);
assertTrue(feature instanceof Observable);
feature.setId(FEATURE_ID);
assertEquals(FEATURE_ID, feature.getId());
feature.setGeometryName(GEOMETRY_NAME);
assertEquals(GEOMETRY_NAME, feature.getGeometryName());
feature.setStyle(new Style());
assertTrue(feature.getStyle() instanceof Style);
assertTrue(feature.getStyles() instanceof Style[]);
Style[] styles = { new Style(), new Style() };
feature.setStyles(styles);
assertTrue(feature.getStyle() instanceof Style);
assertTrue(feature.getStyles() instanceof Style[]);
assertTrue(feature.getStyles().length == 2);
feature.setStyleFunction((Double resolution) -> {
return null;
});
assertTrue(feature.getStyle() == null);
assertTrue(feature.getStyleFunction() instanceof GenericFunction);
});
}
Aggregations