gpt4 book ai didi

javascript - 所有 Google Maps v3 标记的通用事件处理程序

转载 作者:行者123 更新时间:2023-12-02 04:52:26 26 4
gpt4 key购买 nike

我有一张显示 500 个标记的 map ,当用户滚动 map 时,它们会被重新绘制。每个标记都非常复杂——它们被编号并附加了点击、鼠标悬停和鼠标移开(为它们设置动画)事件。这会导致一些性能问题,因为删除和添加这些标记需要花费大量时间。我一直想知道我是否可以为整个 map 附加一次单击、鼠标悬停和鼠标移出事件处理程序,并捕获从那里的标记冒出的事件。这可能吗?它会提高性能吗?

我找到了这个 - How do I make a single event handler for all markers in Google Maps V3? - 更好,但它仍然需要将处理程序分别附加到每个标记。

我还找到了 Google map 数据层 - https://developers.google.com/maps/documentation/javascript/datalayer#add_event_handlers - 看起来整个图层只附加了一个事件,但我不确定它是否没有在内部将其附加到每个标记。我也不确定额外的抽象级别是否会减慢速度。

还有其他解决办法吗?

最佳答案

我们通过在标记上启用“优化”标志解决了所有问题。然后标记在 map Canvas 上呈现,它们在 DOM 中不可见,这也意味着没有事件处理程序直接附加到它们。我们通过在悬停标记时动态创建 div 元素来实现交互性。现在一切都顺畅多了。

关于javascript - 所有 Google Maps v3 标记的通用事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26689124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com