谷歌地图信息窗口:我如何获得其偏移/清除?

时间:2012-03-04 09:56:52

标签: javascript google-maps google-maps-api-3

我有一个带有UI元素的谷歌v3地图,它就像这样突出它......

Panel overhangs top of map by about 30px

我有一个附加到多个标记的信息窗口。我遇到的问题是,当infowindow打开并且自动平移在地图中可见时(我想要的行为),它显然不会考虑元素悬垂......

infowindow partially obscured, user has to manually pan to get at close box

...因此用户必须手动平移以清楚地查看所有信息或在关闭框中获取。

我看看是否有办法从父地图中获取infowindow的 offsetTop ,所以我可以在必要时添加额外的panTo轻推,但我很难过

尝试诸如......

google.maps.event.addListener(marker, 'click', function() {
  infowindow.setContent(this.html);
  infowindow.open(map, marker);

  var infoTop = infowindow.offsetTop;
  console.log(infoTop);
});

...只是给我未定义

最好能够在infowindow上设置许可属性,这可以使用InfoBox utility infoBoxClearance 属性。但我不想使用InfoBox,因为我更喜欢标准信息的风格方面。

我宁愿不使用 disableAutoPan 并为每个标记计算最佳panTo,使地图平移超过必要的范围。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

我没有在版本3中尝试过这个,但在版本2中,标准解决方案是在地图上创建自定义控件。 [v2] infoWindow避免了所有控件,包括自定义控件。您的自定义控件可能只是外部UI覆盖的空白区域。

http://code.google.com/apis/maps/documentation/javascript/controls.html#CustomControls