Итак, я написал код, позволяющий мне добавлять фигуры на карту, и функция рисования выглядит следующим образом
addInteraction() {
this.coreMap.map.addInteraction(this.modifyLayer);
this.draw = new Draw({
source: this.vectorSource,
style: this.style,
type: 'Point'
});
this.coreMap.map.addInteraction(this.draw);
this.snap = new Snap({source: this.vectorSource});
this.coreMap.map.addInteraction(this.snap);
}
То, что работает нормально, позволяет мне рисовать на карте и т. Д. Однако, если я попытаюсь изменить стиль на vectorLayer, скажем, с зеленой точки на красную, она изменит каждую точку на красную, а не на новую, я Я попробовал пару вещей;
Попытка вставки нового объекта стилей в vectorLayer.styles с помощью setStyle ([styleOneOpts, styleTwoOpts])
Установка свойства стиля свойства Draw на что-то другое, что изменит курсор на упомянутый цвет, но нарисованная точка все равно будет цветом стиля vectorLayers
Попытка создания нового объекта Draw и добавления его в качестве совершенно нового взаимодействия с картой
В настоящий момент я предполагаю, что мне придется создавать новый слой каждый раз, когда я хочу создать новую форму с другим цветом, что хорошо, если нет возможности обойти это, но я бы предпочел, чтобы он оставался в пределах один слой.