В простейшем случае, когда нужно отображать подписи объектов вне зависимости от масштаба, в качестве свойства label объекта класса OpenLayers.Style задается одно из полей подписываемого слоя. Пример:
Код: Выделить всё
var regionStyle = new OpenLayers.Style({
strokeWidth: 1,
label: "${name}",
fontFamily: "arial",
fontSize: "10pt",
fontWeight: "bold"
}
Код: Выделить всё
var regionStyle = new OpenLayers.Style({
strokeWidth: 1,
label: "${getLabel}",
fontFamily: "arial",
fontSize: "10pt",
fontWeight: "bold"
}
Код: Выделить всё
var regionStyle = new OpenLayers.Style({
strokeWidth: 1,
label: "${getLabel}",
fontFamily: "arial",
fontSize: "10pt",
fontWeight: "bold"
},
{context: {
getLabel: function(feature) {
if (feature.layer.map.getZoom() >= 9) {
return feature.attributes.name;
}
else {
return '';
}
}
}});