Class LineStringFeature
java.lang.Object
io.jmix.mapsflowui.kit.component.model.MapObservableObject
io.jmix.mapsflowui.kit.component.model.feature.Feature
io.jmix.mapsflowui.component.model.feature.LineStringFeature
- All Implemented Interfaces:
FeatureClickNotifier<LineStringFeature>,Serializable
Polyline feature with predefined
LineStringGeometry.
Usage example:
protected void addLineString(VectorSource source) {
GeometryFactory geometryFactory = GeometryUtils.getGeometryFactory();
LineString lineString = geometryFactory.createLineString(new Coordinate[]{
new Coordinate(11.013511, 50.978630),
new Coordinate(2.392612, 48.782472),
new Coordinate(-3.674846, 40.353581)});
source.addFeature(new LineStringFeature(lineString));
}
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class io.jmix.mapsflowui.kit.component.model.MapObservableObject
MapObservableObject.ObjectChangeEventNested classes/interfaces inherited from interface io.jmix.mapsflowui.component.model.feature.FeatureClickNotifier
FeatureClickNotifier.AbstractFeatureClickEvent<F>, FeatureClickNotifier.FeatureClickEvent<F extends Feature>, FeatureClickNotifier.FeatureDoubleClickEvent<F extends Feature>, FeatureClickNotifier.FeatureSingleClickEvent<F extends Feature> -
Field Summary
Fields inherited from class io.jmix.mapsflowui.kit.component.model.MapObservableObject
children, dirty, eventBus, listener, metaProperties, removedChildren, syncId -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.vaadin.flow.shared.RegistrationAdds feature click listener.com.vaadin.flow.shared.RegistrationaddDoubleClickListener(Consumer<FeatureClickNotifier.FeatureDoubleClickEvent<LineStringFeature>> listener) Adds feature double click listener.com.vaadin.flow.shared.RegistrationaddSingleClickListener(Consumer<FeatureClickNotifier.FeatureSingleClickEvent<LineStringFeature>> listener) Adds feature single click listener.Adds style to the feature.org.locationtech.jts.geom.LineStringvoidsetLineString(org.locationtech.jts.geom.LineString lineString) Sets linestring to the feature's geometry.Methods inherited from class io.jmix.mapsflowui.kit.component.model.feature.Feature
getStyles, getType, removeAllStyles, removeStylesMethods inherited from class io.jmix.mapsflowui.kit.component.model.MapObservableObject
addChild, addListener, clearRemovedChildren, clearRemovedChildrenInDepth, equals, fireChangeEvent, getChildren, getEventBus, getMetaProperties, getRemovedChildren, getSyncId, hashCode, isDirty, isDirtyInDepth, markAsDirty, markAsDirtyInDepth, removeChild, setMapObjectChangeListener, setMetaProperty, unmarkDirtyInDepth
-
Constructor Details
-
LineStringFeature
public LineStringFeature(org.locationtech.jts.geom.LineString lineString)
-
-
Method Details
-
getGeometry
- Overrides:
getGeometryin classFeature- Returns:
- feature's geometry
-
getLineString
public org.locationtech.jts.geom.LineString getLineString()- Returns:
- linestring from feature's geometry
getGeometry()
-
setLineString
public void setLineString(org.locationtech.jts.geom.LineString lineString) Sets linestring to the feature's geometry.- Parameters:
lineString- linestring to set
-
addStyles
Adds style to the feature. Note, if the feature contains custom styles, the default styles or added ones to the layer won't be applied to this feature. And you have to provide fully described style to the specific feature.For instance, custom linestring style:
new LineStringFeature(lineString) .addStyles(new Style() .withStroke(new Stroke() .withWidth(3.0) .withColor("#F60018"))); -
addClickListener
public com.vaadin.flow.shared.Registration addClickListener(Consumer<FeatureClickNotifier.FeatureClickEvent<LineStringFeature>> listener) Adds feature click listener. Note, if the user makes double click on a feature, theFeatureClickNotifier.FeatureClickEventwill be fired twice.- Specified by:
addClickListenerin interfaceFeatureClickNotifier<LineStringFeature>- Parameters:
listener- listener to add- Returns:
- a registration object for removing an event listener
-
addSingleClickListener
public com.vaadin.flow.shared.Registration addSingleClickListener(Consumer<FeatureClickNotifier.FeatureSingleClickEvent<LineStringFeature>> listener) Adds feature single click listener. Single click means that an event won't be fired if the user makes double click.- Specified by:
addSingleClickListenerin interfaceFeatureClickNotifier<LineStringFeature>- Parameters:
listener- listener to add- Returns:
- a registration object for removing an event listener
-
addDoubleClickListener
public com.vaadin.flow.shared.Registration addDoubleClickListener(Consumer<FeatureClickNotifier.FeatureDoubleClickEvent<LineStringFeature>> listener) Adds feature double click listener.- Specified by:
addDoubleClickListenerin interfaceFeatureClickNotifier<LineStringFeature>- Parameters:
listener- listener to add- Returns:
- a registration object for removing an event listener
-