создаю трек на карте
Код: Выделить всё
function createTrack() {
var pointLayer = new OpenLayers.Layer.Vector('xxx');
// на самом деле от OpenLayers.Layer.Vector.Node - моего класса для баллуна
while (i < cnt) {
newPoint = new OpenLayers.Geometry.Point([i].lon,[i].lat);
pointLayer.addFeatures(new OpenLayers.Feature.Vector(
newPoint,
null,
{ strokeColor: ,
pointRadius:3,
fillColor: ,
title: [i].hint || '',
label: [i].label || '',
labelYOffset: -15
}));
var trackLayer = new OpenLayers.Layer.PointTrack("vvv");
// на самом деле от new OpenLayers.Layer.PointTrack.Track - моего класса для баллуна
trackLayer.addNodes(pointLayer.features);
map.addLayers([pointLayer,trackLayer]);
var selectControl = new OpenLayers.Control.SelectFeature(pointLayer);
pointLayer.setSelectControl(selectControl); <<< for click -> Popup
map.addControl(selectControl);
selectControl.activate();
var selectControl2 = new OpenLayers.Control.SelectFeature(trackLayer);
trackLayer.setSelectControl(selectControl2);
this.map.addControl(selectControl2);
selectControl2.activate();
};
хотя если использовать базовый код OpenLayers, то каждая линия имеет тот же стиль, что и узел - т.е. тот же хинт.
Как побороть ситуацию?
ЗЫ при просмотре DOMa видно, что создаются два "параллельных" дива, один который и перекрывает другой - соответственно не проходит клик (не доходит событие) и нет хинта