谷歌地图js api版本3 infowindow故障

时间:2013-11-26 14:02:38

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

我正在开发一个使用谷歌地图api v3来显示标记和信息窗口的应用程序。

好吧,我有一个存储在数组中的N个标记和一个用于显示某些信息的全局信息窗口。

只需点击以这种方式创建的标记即可显示infowindow内容:

/* global js stuff */
var g_map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var g_current_popup = new google.maps.InfoWindow({ content: "" });
var g_markers = [];

/* create marker function */
function addMarker(p_infowindow_contents)
{
  var l_marker = new google.maps.Marker( all the stuff needed );
  google.maps.event.addListener(l_marker, 'click', function()  
  {  
      g_current_popup.close(); // if already open, it must be closed and reloaded
      g_current_popup.setContent(p_infowindow_contents);
      g_current_popup.open(g_map, l_marker);
  });
  g_markers.push(l_marker);
}

一切都按预期工作,除了一点点图形故障:当infowindow出现时,我看到infowindow'tip'位于一个未知位置十分之一秒,然后它消失了,我看到了正确的信息窗口。

看看这个截图在提示消失之前拍摄:

look at the white triangle...

有没有人经历过这样的事情? 可能是一些CSS问题吗?

由于

1 个答案:

答案 0 :(得分:1)

看起来这不是你的代码的问题,我认为它更可能是浏览器问题。我能够验证Google在Firefox中提供的infowindow示例,但在Chrome中没有这样做:

https://developers.google.com/maps/documentation/javascript/examples/infowindow-simple

当地图必须滚动以适应infowindow时,它似乎更明显地发生,但我会说它不是要求它这样做。它可能只是一个神器,屏幕需要几个时钟周期才能赶上DOM。