我有一个地图,上面显示了500个标记,当用户滚动地图时这些标记会被重新绘制。每个标记都很复杂 - 它们都带有点击、鼠标悬停和鼠标移出事件(用于进行动画效果的设置)。这会导致一些性能问题,因为删除和添加这些标记需要很长时间。我一直在思考是否可以为整个地图附加单个的点击、鼠标悬停和鼠标移出事件处理程序,并在那里捕获从标记冒泡上来的事件。这种做法可能吗?它会改善性能吗?
我找到了这个链接 - 如何在Google Maps V3中为所有标记制定单个事件处理程序? - 这是更好的方法,但仍然需要将处理程序分别附加到每个标记上。
我还发现了Google Maps数据层 - https://developers.google.com/maps/documentation/javascript/datalayer#add_event_handlers - 看起来只有一个事件附加到整个图层上,但我不确定它是否在内部将其附加到每个标记上。我也不确定额外的抽象层是否会拖慢速度。
还有其他解决方案吗?
我找到了这个链接 - 如何在Google Maps V3中为所有标记制定单个事件处理程序? - 这是更好的方法,但仍然需要将处理程序分别附加到每个标记上。
我还发现了Google Maps数据层 - https://developers.google.com/maps/documentation/javascript/datalayer#add_event_handlers - 看起来只有一个事件附加到整个图层上,但我不确定它是否在内部将其附加到每个标记上。我也不确定额外的抽象层是否会拖慢速度。
还有其他解决方案吗?