不要在缩放时触发自定义图块叠加
Don't trigger custom tile overlay on zoom
我使用 Google 地图 API v3 进行了自定义图块叠加设置。但是,当多个并发用户处于活动状态时,为其生成图像的后端不够强大,无法处理所有调用。所以在很多方面我都试图减少地图请求的图块数量。还有一个我似乎无法弄清楚的优化:
当用户双击缩放或使用缩放控件时,地图会重新触发请求新图块图像的图块叠加层。但是,如果用户在磁贴加载之前再次触发缩放按钮或双击,这些都是无用功。所以我想做的是建立一个延迟,在触发新的图块图像之前等待 x 秒。
使用当前事件侦听器(zoom_changed、dbl_click、点击)我似乎无法阻止 google 地图触发新图像块。看起来在 zoom_changed 事件触发时,已经请求了磁贴。所以我有点缺少停止触发 getTileUrl 的方法。我已经知道如何重新触发它,我只是想知道一种在用户使用缩放时停止它的方法。
有人知道如何解决这个问题吗?
我使用这个实现作为基础:
https://developers.google.com/maps/documentation/javascript/examples/maptype-image-overlay
Google 的某个人为我指出了正确的方向。经过一些研究,我发现:
google.maps.event.addDomListener(map, "zoom_changed", function () {
map.overlayMapTypes.setAt(0, null);
}
解决了我的问题。
这允许我停止覆盖触发器,因此我现在可以随时重新触发它。
我使用 Google 地图 API v3 进行了自定义图块叠加设置。但是,当多个并发用户处于活动状态时,为其生成图像的后端不够强大,无法处理所有调用。所以在很多方面我都试图减少地图请求的图块数量。还有一个我似乎无法弄清楚的优化:
当用户双击缩放或使用缩放控件时,地图会重新触发请求新图块图像的图块叠加层。但是,如果用户在磁贴加载之前再次触发缩放按钮或双击,这些都是无用功。所以我想做的是建立一个延迟,在触发新的图块图像之前等待 x 秒。
使用当前事件侦听器(zoom_changed、dbl_click、点击)我似乎无法阻止 google 地图触发新图像块。看起来在 zoom_changed 事件触发时,已经请求了磁贴。所以我有点缺少停止触发 getTileUrl 的方法。我已经知道如何重新触发它,我只是想知道一种在用户使用缩放时停止它的方法。
有人知道如何解决这个问题吗?
我使用这个实现作为基础: https://developers.google.com/maps/documentation/javascript/examples/maptype-image-overlay
Google 的某个人为我指出了正确的方向。经过一些研究,我发现:
google.maps.event.addDomListener(map, "zoom_changed", function () {
map.overlayMapTypes.setAt(0, null);
}
解决了我的问题。
这允许我停止覆盖触发器,因此我现在可以随时重新触发它。