要。?添加自定義文本標籤矢量圖層的功能,我建議如下:
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
。
非常有幫助,謝謝! :) – user2312386
不客氣。請考慮標記爲答案,如果這解決了你的問題:) –
真的幫了我!我的投票+1 – imdadhusen