我使用Google Maps API v3获得了自定义图块叠加设置。但是,当多个并发用户处于活动状态时,为其生成图像的后端不足以处理所有调用。因此,在很多方面,我试图减少地图请求的切片数量。还有一个我无法想象的优化:
当用户双击缩放或使用缩放控件时,地图会重新触发请求新图块图像的图块叠加层。但是,如果用户在磁贴已加载之前触发缩放按钮或再次双击,则这些都是浪费的呼叫。所以我想要做的是建立一个延迟,在触发新的平铺图像之前等待x秒。
使用当前事件监听器(zoom_changed,dbl_click,click),我似乎无法阻止谷歌地图触发新的图像切片。看起来当zoom_changed事件触发时,瓷砖已经被请求了。所以我有点想办法停止触发getTileUrl。我已经知道如何重新触发它,我只是想知道在用户使用缩放时停止它的方法。
任何人都知道如何解决这个问题?
我使用此实现作为基础: https://developers.google.com/maps/documentation/javascript/examples/maptype-image-overlay
答案 0 :(得分:1)
Google的某个人向我指出了正确的方向。经过一些研究,我发现了:
google.maps.event.addDomListener(map, "zoom_changed", function () {
map.overlayMapTypes.setAt(0, null);
}
解决了我的问题。
这允许我停止叠加触发器,所以我现在可以随时重新触发它。