1

我需要使用 Jquery 来处理网页上的其他元素。我尝试将标签放在具有以下样式的矢量图层上:

  var vector_style = new OpenLayers.Style({
            'fillColor': 'red',
            'fillOpacity': .8,
            'strokeColor': '#aaee77',
            'strokeWidth': 3,
            'pointRadius': 8,
            'label': "${name}",
            'labelAlign': "cc",
            });

但标签不显示。

我只是想知道这个“$ {name}”是否存在冲突。我用一个没有 Jquery 的简单页面再次对其进行了测试。标签确实显示。请让我如何解决这个问题。谢谢。

更新: 我刚刚发现冲突可能来自 Spring 或 JSTL。我使用 Firebug 工具来检查样式的 javaScript 源代码。它看起来像这样:

    var vector_style = new OpenLayers.Style({
            fillColor: 'red',
            fillOpacity: .8,
            strokeColor: '#aaee77',
            strokeWidth: 3,
            pointRadius: 8,
            label: "",
            labelAlign: "cc",
            });

我从服务器端返回了一个变量:

    model.addAttribute("name", "test");

然后所有功能都显示标签“测试”。

4

1 回答 1

0

问题可能是labelAlign" " 的值cc不存在。

Openlayers文档中:

第一个字符用于水平对齐,第二个字符用于垂直对齐。?水平对齐的有效值:“l”=left,“c”=center,“r”=right。>垂直对齐的有效值:“t”=top,“m”=middle,“b”=bottom。示例值:“lt”、“cm”、“rb”。>默认为“厘米”。

尝试删除此行。

于 2013-08-30T00:34:21.557 回答