стиль: цвет и ширина штрихов в Openlayers? - PullRequest
1 голос
/ 14 октября 2011

Я попробовал несколько способов, но не могу найти подходящий,Как мне добавить стиль к этому слою:

        var line_1 = new OpenLayers.Layer.Vector("Line nr 1", {
            projection: map.displayProjection,
            strategies: [new OpenLayers.Strategy.Fixed()],
            protocol: new OpenLayers.Protocol.HTTP({
                url: "lines/line_1.kml",
                format: newOpenLayers.Format.KML({
                    extractStyles: true,
                    extractAttributes: true
                })
            })
        });

Как в слое ниже:

            var line_1 = new OpenLayers.Layer.GML('Line nr - 1', 
                    "lines/line_1.kml",
                    {
                            visibility: true,
                            format: OpenLayers.Format.KML,
                            style: {strokeWidth: 4, strokeColor: "#ff0000", strokeOpacity: 1 },
                            projection: map.displayProjection,
                            strategies: [new OpenLayers.Strategy.Fixed()]
                    }
            );

Различия заключаются в том, что в первой переменной Im используется Vector , а во второй GML Я все еще новичок в этом деле, любая помощь будет очень признательна.

1 Ответ

3 голосов
/ 15 октября 2011

Вы можете определить стиль следующим образом:

var style = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
style.fillOpacity = 0.2;
style.graphicOpacity = 1;
style.strokeWidth = 4; 
style.strokeColor = "#ff0000";
style.strokeOpacity = 1;

И затем передать его в настройках при создании векторного слоя:

var line_1 = new OpenLayers.Layer.Vector("Line nr 1", {
            style : style,
            projection: map.displayProjection,
            strategies: [new OpenLayers.Strategy.Fixed()],
            protocol: new OpenLayers.Protocol.HTTP({
                url: "lines/line_1.kml",
                format: newOpenLayers.Format.KML({
                    extractStyles: true,
                    extractAttributes: true
                })
            })
        });
...