Код: Выделить всё
var point  = new OpenLayers.LonLat(feature.geometry.x, feature.geometry.y) Адаптируем данный код для показа тултипов полигональных слоёв. Требуется библиотека jQuery.
0. CSS стиль будущего тултипа:
Код: Выделить всё
.openlayers-tooltip {
    font-family: arial;
    position: absolute;
    border: 1px solid #111;
    background-color: #EEE;
    opacity: 0.85;
} Код: Выделить всё
<script src="jquery-1.3.1.min.js"></script>Код: Выделить всё
var currPos; Код: Выделить всё
OpenLayersTooltips = {}; Код: Выделить всё
OpenLayersTooltips.getToolTip = function(feature){
        var text = "<div class='openlayers-tooltip'>";
        text += feature.attributes['attrname'];
        text += "</div>";
        return $(text);
    } Код: Выделить всё
OpenLayersTooltips.select = function(feature) {
        var tooltip = OpenLayersTooltips.getToolTip(feature);
        $(tooltip).css({zIndex:1000,left:currPos.x+10,top:currPos.y+10});
        $(feature.layer.map.div).append(tooltip);
    }; Код: Выделить всё
OpenLayersTooltips.unselect = function(feature) {
        $(feature.layer.map.div).children('div.openlayers-tooltip').remove();
    }; Код: Выделить всё
var map = new OpenLayers.Map({
...
eventListeners: {
            "mouseover": function(evt) {currPos = evt.xy;}
        }
 Код: Выделить всё
select = new OpenLayers.Control.SelectFeature([layer],{onSelect:OpenLayersTooltips.select, onUnselect:OpenLayersTooltips.unselect});
map.addControl(select);
select.activate();