2012-12-21 2 views
2

У меня есть одна проблема с моей картой OpenLayers. Когда я нажимаю маркер на карте, он отображает всплывающее окно, но над этим всплывающим окном все еще видны другие маркеры.Openlayers и невидимый маркер в popup

Как это сделать правильно?

fromProjection = new OpenLayers.Projection("EPSG:4326"); 
    toProjection = new OpenLayers.Projection("EPSG:900913"); 

    markers = new OpenLayers.Layer.Markers("Markers"); 

    markers.events.register('mouseover', markers, function(evt) { 
     popup = new OpenLayers.Popup.FramedCloud("Popup", 
       new OpenLayers.LonLat(Tlon,Tlat).transform(fromProjection, toProjection), 
      null, 
      '<span style="z-index:99999;background:red;">sdf</span>', 
      null, 
      false); 
     map.addPopup(popup); 
    }); 

    markers.events.register('mouseout', markers, function(evt) {popup.hide();}); 

    map.addLayer(markers); 
    markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(Tlon,Tlat).transform(fromProjection, toProjection),icon)); 
+0

Дайте немного больше информации, пожалуйста. Как вы реализовали всплывающие окна? Возможно, вы используете всплывающие окна с рамкой? Http: //dev.openlayers.org/releases/OpenLayers-2.6/doc/apidocs/files/OpenLayers/Popup/FramedCloud-js.html – Martin

+0

Есть ли у нас URL-адрес для устранения неполадок? – Kyle

ответ

1

без URL, чтобы проверить, я не могу быть уверен, но вам могут понадобиться клонировать иконку для каждых маркеров, добавляемых к карте. Из документов:

Обратите внимание, что если вы передаете значок в конструктор маркера, он будет считать, что значок и использовать его. Это означает, что вы не должны делиться значками между маркерами - вы используете их один раз, но вы должны клонировать() для любых дополнительных маркеров, используя тот же значок.