【问题标题】:Cannot style a LineString无法设置 LineString 的样式
【发布时间】:2023-03-27 21:50:01
【问题描述】:

我正在尝试设置 LineString 的样式,但它似乎不起作用。这是我的代码:

function connectStationFeatures(feat1, feat2){
    var lineLayer = getLinesLayer();
    var point1 = feat1.geometry;
    var point2 = feat2.geometry;
    var style = new OpenLayers.StyleMap({
        'fillColor':"#FF8C00",
        'strokeWidth':10,
        'strokeDashstyle':"dashdot"
    });
    var line = new OpenLayers.Geometry.LineString([point1, point2]);

    lineLayer.addFeatures([new OpenLayers.Feature.Vector(line, {styleMap:style})]);
}

我也试过了:

function connectStationFeatures(feat1, feat2){
    var lineLayer = getLinesLayer();
    var point1 = feat1.geometry;
    var point2 = feat2.geometry;
    var style = new OpenLayers.StyleMap({
        'fillColor':"#FF8C00",
        'strokeWidth':10,
        'strokeDashstyle':"dashdot"
    });
    var line = new OpenLayers.Geometry.LineString([point1, point2]);
    var lineFeat = new OpenLayers.Feature.Vector(line);
    lineFeat.styleMap = style;
    lineLayer.addFeatures([lineFeat]);
 }

非常感谢任何帮助!谢了

【问题讨论】:

    标签: javascript maps gis openlayers


    【解决方案1】:

    您必须将 StyleMap 添加到图层,而不是功能

    vectorLayer = new OpenLayers.Layer.Vector('Foo', {styleMap: style});
    

    http://jsfiddle.net/HqQ6V/

    有几种不同的方式来定义样式 - 使用 hash、Style 或 StyleMap 对象;您可以将它们附加到要素或图层。这是一个很好的解释:http://docs.openlayers.org/library/feature_styling.html

    【讨论】:

      猜你喜欢
      • 2020-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多