我的OpenLayers地图有一个问题。当我在地图上单击标记时,它将显示弹出窗口,但在此弹出窗口上方仍可看到其他标记。
这是怎么做到的?
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 :(得分:1)
如果没有要测试的网址,我无法确定,但您可能需要为添加到地图的每个标记克隆图标。来自文档:
请注意,如果您将图标传递给Marker构造函数,它会 拿那个图标并使用它。这意味着您不应该共享图标 标记之间 - 你使用它们一次,但你应克隆()任何 使用相同图标的其他标记。