是否有可能检测并挂钩事件“喜欢” onBeforeZoomChange和 onAfterZoomChange(= “ZOOM_CHANGED”)
地图上有数百个DIV(标签)分层存在问题 并绑定到适当的标记。当地图动画(缩小)时, DIV改变了它们的大小两次,然后动画变小。 这似乎是一个很大的性能问题和非常糟糕的行为。 是否可以在缩放开始之前隐藏这些DIV并显示它们 在zoom_changed?
答案 0 :(得分:0)
无法拦截重绘地图的方法,但有一种方法可以拦截自定义叠加层的绘制,因为您可以定义自己绘制叠加层的函数。
cutom Overlay的draw-method将在必要时自动调用。
简单方法:在地图空闲之前不要重绘Overlay:
YourOverlayClass.prototype.draw = function(idle) {
if(!idle){
var _this=this;
google.maps.event.addListenerOnce(this.map,'idle',
function(){_this.draw(true);});
/*optionally you may hide the overlay here*/
return;
}
/**
* your drawing-instructions here
**/
/*show the overlay here when it has been hidden before*/
}
自动调用抽奖将在没有参数的情况下完成,建议检查是否提供了参数,
如果是:它会重新绘制叠加层。
当没有时:它会向地图的空闲事件添加一个侦听器,其中将使用参数调用draw-method(将重绘重叠的内容)