无论z-index设置如何,平面图覆盖隐藏在地图视图后面

时间:2012-08-04 22:29:17

标签: google-maps-api-3 overlay

我正在努力将平面图叠加层应用于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,仅在内核版本中有所不同。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您的DIV包含绝对定位的图像,但它没有指定大小。 图像也绝对定位,高度和宽度为100%,但100%的是什么?由于DIV没有尺寸,因此图像尺寸为100%。给DIV一个尺寸或图像一个特定的尺寸,它应该出现。

您还应该使用overlayLayer窗格而不是overlayImage。