我正在努力将平面图叠加层应用于Google地图中建筑物的卫星视图。为此,我遵循this example,但无论z-index设置如何,叠加层都隐藏在地图窗格后面。
我正在使用OverlayView()
函数,其中定义了onAdd函数
overlayFloorPlan.prototype.onAdd = function(){
// Create the DIV and set some basic attributes.
var div = document.createElement('div');
div.style.borderStyle = 'none';
div.style.borderWidth = '0px';
div.style.position = 'absolute';
div.style.zIndex = '100000'; //this number makes no difference
// Create an IMG element and attach it to the DIV.
var img = document.createElement('img');
img.src = this.image_;
img.style.width = '100%';
img.style.height = '100%';
img.style.position = 'absolute';
img.style.opacity = "0.7";
//img.style.zIndex = "100000";
div.appendChild(img);
// Set the overlay's div_ property to this DIV
this.div_ = div;
// We add an overlay to a map via one of the map's panes.
// We'll add this overlay to the overlayImage pane.
var panes = this.getPanes();
panes.overlayImage.appendChild(div);
}
奇怪的是,我可以在页面加载期间看到叠加图像一瞬间,然后它就会消失。
为了让事情变得更加奇怪,这个确切的代码在我的开发机器上正常工作,但在我家的本地机器上却没有。我可以远程进入并按预期看到叠加层。两台机器都运行相同的最新版本的Ubuntu,仅在内核版本中有所不同。
感谢任何帮助。
答案 0 :(得分:1)
您的DIV包含绝对定位的图像,但它没有指定大小。 图像也绝对定位,高度和宽度为100%,但100%的是什么?由于DIV没有尺寸,因此图像尺寸为100%。给DIV一个尺寸或图像一个特定的尺寸,它应该出现。
您还应该使用overlayLayer窗格而不是overlayImage。