Web ページの他の要素を処理するには、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");
次に、すべての機能に「test」というラベルが表示されます。