Я использую gwt openlayers для рисования некоторых линий на карте. Я хотел бы изменить внешний вид линии рисования. Я заметил, что класс PathHandler имеет метод setStyle, но стиль установки с использованием этого метода не меняет внешний вид линии.GWT openlayers, DrawFeature line style
private DrawFeature createDrawFeature() {
DrawFeatureOptions options = new DrawFeatureOptions();
options.onFeatureAdded(getStyle());
PathHandler handler = new PathHandler();
handler.setStyle(style);
return new DrawFeature(layer, handler, options);
}
private Style getStyle() {
Style style = new Style();
style.setStrokeColor("#ffffff");
style.setStrokeWidth(2.0);
return style;
}
Я пытался установить разные варианты стиля, но эффекта не было. Кто-нибудь знает, как изменить внешний вид линии DrawFeature?
Спасибо, это работает отлично, но что о последней строке (я имею в виду, когда ничья сделанный)? У него все еще есть старый тонкий оранжевый стиль. –
@UP. OK Я нашел способ добиться этого при помощи onFeatureAdded в настройках drawfeature \t общественного недействительными onFeatureAdded (VectorFeature vectorFeature) { \t \t vectorFeature.setStyle (GetStyle()); \t \t vectorFeature.redrawParent(); \t} –
Сокол, возможно, работает, но немного за бортом. Вы должны просто использовать метод setStyle или setStyleMap для векторного слоя. Таким образом вам просто нужно установить стиль один раз на слой. Нечто вроде Векторный vectorLayer = новый вектор («Векторный слой»); final стиль drawStyle = новый стиль(); // создаем стиль для использования drawStyle.setFillColor («белый»); drawStyle.setGraphicName ("x"); drawStyle.setPointRadius (4); drawStyle.setStrokeWidth (3); drawStyle.setStrokeColor ("# 66FFFF"); drawStyle.setStrokeDashstyle ("тире"); vectorLayer.setStyle (drawStyle); – Knarf