ベクターレイヤーの機能にカスタムテキストラベルを追加するには、次のことをお勧めします。
1)ベクターレイヤーに次のように追加StyleMap
します。
var vectorLayer = new OpenLayers.Layer.Vector("Vector",
{
styleMap: new OpenLayers.StyleMap(
{
label : "${labelText}",
fontColor: "blue",
fontSize: "12px",
fontFamily: "Courier New, monospace",
fontWeight: "bold",
labelAlign: "lc",
labelXOffset: "14",
labelYOffset: "0",
labelOutlineColor: "white",
labelOutlineWidth: 3
})
});
labelText
このスタイル マップでは、このラベルのテキストが対応する地物の属性から取得されることを示していることに注意してください。
2) レイヤーに追加する地物ごとに、labelText
定義した属性を指定します。
var features = [];
var pt = new OpenLayers.Geometry.Point(0, 0);
features.push(new OpenLayers.Feature.Vector(pt, {labelText: "This is my label"}));
vectorLayer.addFeatures(features);
このソリューションの唯一の制限は、ポイントごとに機能を追加する必要があり、使用できないことOpenLayers.Geometry.MultiPoint
です。