1

我正在将平面图覆盖应用于 Google 地图中建筑物的卫星视图。为此,我遵循了这个示例,但无论 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,只是内核版本不同。

任何帮助表示赞赏。

4

1 回答 1

1

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

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

于 2012-08-27T13:50:10.080 回答