2015-02-24 143 views
1

我已经使用Google Maps API v3自定义图块叠加设置。但是,当多个并发用户处于活动状态时,为其生成映像的后端功能不足以处理所有呼叫。所以在很多方面我都试图减少地图所要求的地块数量。还有一个我似乎无法理解的优化:不要在缩放时触发自定义图块叠加

当用户双击进行缩放或使用缩放控制时,地图会重新触发请求新瓦片图像的瓦片覆盖图。但是,如果用户触发缩放按钮或在瓷砖加载之前再次双击,这些都是浪费的电话。所以我想要做的是建立一个延迟等待x秒,然后触发新的瓷砖图像。

随着当前的事件监听器(zoom_changed,dbl_click,点击),我似乎无法阻止谷歌地图触发新的图像瓷砖。它看起来像zoom_changed事件触发时,瓷砖已被请求。所以我很想念一种方法来阻止getTileUrl的触发。我已经知道如何重新触发它,我只想知道当用户使用缩放时停止它的方法。

任何人都知道如何解决这个问题?

我用这个实现的基础: https://developers.google.com/maps/documentation/javascript/examples/maptype-image-overlay

回答

1

有人在谷歌向我指出了正确的方向。经过一番研究,我发现:

google.maps.event.addDomListener(map, "zoom_changed", function() { 
    map.overlayMapTypes.setAt(0, null); 
} 

解决了我的问题。

这可以让我停止重叠触发器,所以我现在可以随时重新触发它。

+0

您应该将您的答案标记为已接受。 – 2015-02-24 16:12:38