【问题标题】:Calling Google maps infowindow.open causes website to scroll down to the infowindow调用 Google maps infowindow.open 会导致网站向下滚动到 infowindow
【发布时间】:2021-08-25 22:10:28
【问题描述】:

我很确定这在很长一段时间内都不是 Google Maps API 的默认行为,但它肯定在此期间发生了变化。

我修改了google提供的Fiddle:https://developers.google.com/maps/documentation/javascript/infowindows

在顶部添加了1000px“content” div:

<div style="height: 1000px">CONTENT</div>

并在脚本中添加了“自动”打开信息窗口

google.maps.event.addListenerOnce(map, 'tilesloaded', function () {
  infowindow.open(map, marker);
});

JS 小提琴:

https://jsfiddle.net/ym3c2e8u/

问题:

如果您注释掉打开信息窗口行,请注意页面将加载并显示顶部的“内容”。
如果信息窗口正在打开,浏览器将自动向下滚动到该元素的中心。

这真的很令人沮丧,我想阻止这种行为。

【问题讨论】:

  • 哦,好吧,我预料到了,但我的谷歌搜索并没有从谷歌跟踪器中找到这个问题。顺便说一句,谢谢你的反对,好像我没有努力描述这个问题或者它是重复的,但我看不出这个问题是如何不遵循 SO 准则的。
  • 重现问题的必要代码应包含在问题本身中。如果您的小提琴明天被删除,那么您的问题将几乎毫无用处。顺便提一句。在关闭/否决投票中没有确定性。例如,您可以创建一个演示问题的工作堆栈 sn-p,将您的问题链接到跟踪器中的问题,反之亦然。这对每个人都有用。
  • 感谢分享,我正在更新文档!

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


【解决方案1】:

InfoWindow.open() 的默认行为是让浏览器关注元素。这可以通过使用InfoWindowOpenOptions 进行更改。

infowindow.open({anchor: marker, shouldFocus: false});

代替:

infowindow.open(map, marker);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多