Ниже приведенный ниже фрагмент дает краткое представление о том, как добавлять функции к векторному слою.Как стилизовать каждую функцию в одном слое с разными цветами - OpenLayers 2
vectors = new OpenLayers.Layer.Vector("Vector Layer");
drawControls = {
Point1: new OpenLayers.Control.DrawFeature(vectors, OpenLayers.Handler.Point),
Point2: new OpenLayers.Control.DrawFeature(vectors, OpenLayers.Handler.Point),
Polygon1: new OpenLayers.Control.DrawFeature(vectors, OpenLayers.Handler.Polygon),
Polygon2: new OpenLayers.Control.DrawFeature(vectors, OpenLayers.Handler.Polygon)
}
for(var key in drawControls) {
map.addControl(drawControls[key]);
}
Как настроить каждую функцию с разными цветами ?.
Я знаю, что может стиль векторного слоя в целом с кодом, приведенными ниже:
var defStyle_layer = {
strokeColor: "blue",
fillColor: "blue"
};
var layer_style= OpenLayers.Util.applyDefaults(defStyle_layer, OpenLayers.Feature.Vector.style["default"]);
var layer_sm= new OpenLayers.StyleMap({
'default': layer_style
});
vectors = new OpenLayers.Layer.Vector("Vector Layer", {stylemap:layer_sm })
мне нужна помощь для укладки каждой функции в том же векторном слое отдельно. Причина, по которой мне нужно разместить все эти функции в том же слое, потому что я хочу иметь опцию «UNDO»
Если стили будут применяться после того, как функция завершена, или во время его рисования? Я сделал это, прежде чем использовать функцию выбора и получить доступ к шаблону стиля каждой функции напрямую, и я думаю, что вы можете сделать что-то подобное, используя функцию обратного вызова FeatureAdded, но было бы довольно сложно сделать это, пока рисовать функцию (я думаю). –
Было бы здорово знать, как применять стили к функциям во время рисования, а также сохранять стиль до тех пор, пока функция видна. Если я изменю шаблон стиля на основе выбранной функции, новый стиль будет отражен на весь уровень, то есть функции, созданные ранее с другим стилем, изменяются на текущий стиль. –