Стиль
Стиль для PointFeature
Чтобы изменить стиль для PointFeature, обычно определяют объект PointStyle
с нужными свойствами внешнего вида, такими как image
, fill
, stroke
и т.д., и затем применяют этот стиль к PointFeature
.
private PointFeature createStyledPoint() {
return new PointFeature(GeometryUtils.createPoint(22, 25))
.withStyles(
new PointStyle()
.withImage(new CircleStyle()
.withRadius(7)
.withFill(new Fill("#E7003E"))
.withStroke(new Stroke()
.withWidth(2.0)
.withColor("#710067")))
.build());
}

Использование текста вместо изображения для PointFeature
позволяет отображать текстовые надписи непосредственно на карте в указанных координатах, обеспечивая ясность и контекст для отображаемых данных.
При использовании текста для PointFeature
вы можете настроить внешний вид текста, изменяя свойства, такие как font
, fill
, textAlign
и т.д.
В примере ниже демонстрируется использование текстовой надписи вместо изображения для PointFeature
:
private PointFeature createTextPoint() {
return new PointFeature(GeometryUtils.createPoint(15, 15))
.withStyles(
new PointStyle()
.withText(new TextStyle()
.withText("Africa")
.withFont("20px sans-serif")
.withFill(new Fill("#5E4BD8"))
.withStroke(new Stroke()
.withWidth(2.)
.withColor("#A368D5")))
.build());
}

Стиль для MarkerFeature
Чтобы изменить значок маркера, обратитесь к следующему примеру:
private MarkerFeature createStyledMarker() {
MarkerFeature feature = new MarkerFeature(GeometryUtils.createPoint(20, 20));
feature.removeAllStyles();
return feature.withStyles(new Style()
.withImage(new IconStyle()
.withSrc("icons/icon.png")
.withScale(0.05)));
}
Дополнительно, пример настройки значков маркеров на основе атрибутов геообъекта приведен в разделе Использование пользовательских маркеров.

Стиль для LineStringFeature
Чтобы изменить стиль для LineStringFeature
, обычно определяют объект LineStringStyle
с нужными свойствами внешнего вида, такими как stroke
, fill
и т.д., и затем применяют этот стиль к LineStringFeature
.
private LineStringFeature createStyledLineString() {
LineString lineString = geometries.createLineString(new Coordinate[]{
new Coordinate(13, 20),
new Coordinate(13, 32),
new Coordinate(25, 17)});
return new LineStringFeature(lineString)
.withStyles(
new LineStringStyle()
.withStroke(new Stroke()
.withWidth(3.)
.withColor("#F60018"))
.build());
}

Стиль для PolygonFeature
Изменение стиля для PolygonFeature
включает определение нового PolygonStyle
с нужными свойствами, такими как fill
, stroke
и т.д., и применение этого стиля к PolygonFeature
.
private PolygonFeature createStyledPolygon() {
LinearRing shell = geometries.createLinearRing(new Coordinate[]{
new Coordinate(1.2457020544488762, 42.476628901048684),
new Coordinate(-0.054875980233204155, 52.77260344863316),
new Coordinate(29.858418817454655, 46.105591288830624),
new Coordinate(1.2457020544488762, 42.476628901048684),
});
return new PolygonFeature(geometries.createPolygon(shell))
.withStyles(
new PolygonStyle()
.withFill(new Fill("rgba(1, 147, 154, 0.2)"))
.withStroke(new Stroke()
.withWidth(3.)
.withColor("#123EAB"))
.build());
}

Стили режима выбора
Каждый тип объекта в векторном источнике имеет стили по умолчанию для режима выбора. Эти стили автоматически применяются, когда пользователь выбирает объект на карте. Чтобы настроить стили выделения, каждый объект предоставляет методы для добавления собственных стилей.
Например, вот как можно добавить пользовательские стили выделения для PolygonFeature
:
private PolygonFeature createPolygonWithSelectStyles() {
Polygon polygon = GeometryUtils.createPolygon(new Coordinate[]{
new Coordinate(-64.75370117729211, 32.30679527567045),
new Coordinate(-80.18546220891433, 25.760830653727623),
new Coordinate(-80.18546220891433, 25.760830653727623),
new Coordinate(-66.11846996297967, 18.4077981563645),
new Coordinate(-64.75370117729211, 32.30679527567045),
});
return new PolygonFeature(polygon)
.withSelectStyles(
new PolygonStyle()
.withFill(new Fill("rgba(255, 61, 0, 0.2)"))
.withStroke(new Stroke()
.withWidth(4d)
.withColor("#FF3D00"))
.build());
}

Чтобы применить одинаковый стиль выделения ко всем объектам в источнике, установите стили выделения на векторном слое. |
Стили режима изменения
Векторные источники предоставляют режим изменения. При активации этот режим генерирует точки в вершинах геометрии, позволяя выполнять такие изменения, как добавление новых вершин и изменение позиций существующих вершин. Этот режим также определяет стили для этих сгенерированных вершин, которые отображаются на карте для представления геометрии.
Например, вот как установить пользовательские стили для точек вершин полигона:
private PolygonFeature createPolygonWithModifyStyles() {
Polygon polygon = GeometryUtils.createPolygon(new Coordinate[]{
new Coordinate(77.2048761253423, 28.605384389707353),
new Coordinate(75.78484389126132, 26.895539146773086),
new Coordinate(78.00224596797739, 27.170451672755192),
new Coordinate(77.2048761253423, 28.605384389707353)});
return new PolygonFeature(polygon)
.withModifyStyles(
new PointStyle()
.withImage(new CircleStyle()
.withRadius(6)
.withFill(new Fill("rgba(149, 107, 214, 0.5)"))
.withStroke(new Stroke()
.withWidth(2d)
.withColor("#2F0571")))
.build());
}

Чтобы применить одинаковые стили изменения ко всем объектам в источнике, установите стили изменения на векторном слое. |