【问题标题】:Google map js api version 3 infowindow glitch谷歌地图 js api 版本 3 信息窗口故障
【发布时间】:2013-12-11 17:17:01
【问题描述】:

我正在开发一个应用程序,它使用 google maps api v3 来显示标记和信息窗口。

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

信息窗口内容只需单击一个标记即可显示,以这种方式创建:

/* 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);
}

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

看看这个在提示消失前截取的截图:

有没有人经历过这样的事情? 会不会是一些 CSS 问题?

谢谢

【问题讨论】:

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


    【解决方案1】:

    看起来这不是您的代码的问题,我认为这更可能是浏览器问题。通过查看 Google 在 Firefox 中提供的信息窗口示例,我能够验证同样的事情,但在 Chrome 中却没有:

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

    当地图必须滚动以适应信息窗口时,它似乎会更明显地发生,但我会说它不是必须这样做的。它可能只是一个人工制品,屏幕需要几个时钟周期才能赶上 DOM。

    【讨论】:

    • 你说得对,我从未在样本上观察到过,但我在 chrome 和 firefox(在 GNU/Linux 操作系统上)上都看到过。我认为这可能是 webkit 或显卡驱动程序的问题。谢谢你:)
    猜你喜欢
    • 2012-06-22
    • 2016-07-10
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多