Код: Выделить всё
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();