区分程序化Bing AJAX地图导航与用户平移/缩放和窗口大小
Distinguishing programmatic Bing AJAX Map navigation from user pan/zoom and window resizes
我有一个场景,在用户与地图交互以更改当前视图之前,我需要不断保持特定的LocationRect
最佳拟合(即map.setView({ bounds: myLocationRect })
的结果)在地图中跨窗口大小或平板电脑方向变化可见。
关于如何做到这一点,我需要一些指导。考虑到有多少不同的鼠标和键盘交互可以改变视图,我不想过滤所有这些交互;过滤掉包含HTML元素的地图改变大小的场景似乎更合适。
我已经尝试过通过跟踪map元素之前的宽度/高度并监听targetviewchanged
事件来实现这一点;然而,这对我来说并不可靠。原因是,如果我重置视图,我就无法可靠地暂停侦听targetviewchanged
。例如:
function resetView() {
if(!_keepAoiInView) return; // unhook setInterval as well; omitted for brevity
_suspend = true;
_map.setView({ bounds: theBoundsIWant });
_suspend = false;
}
function ontargetviewchanged() {
// This suspend check doesn't work -
// resetView() isn't always lower in the call stack;
// therefore, _suspend is set back to false before the
// targetviewchanged event fires.
if(_suspend) return;
_keepAoiInView = false; // unhook setInterval as well; omitted for brevity
}
如果您似乎无法让targetviewchanged
正常工作,也许值得重新考虑跟踪其他事件。
使用pointer.js,您可以更容易地跟踪所有不同的可能交互。这样,您只需要捕获少数类型的事件,这些事件在后台代表了许多类型的事件。如果它能很好地与Bing地图配合使用,可能会解决鼠标、触摸以及手势事件的问题。
我怀疑,这可能无法解决键盘事件的问题,但也许监控这些事件也是可以管理的。
相关文章:
- 调整缩放窗口高度提升缩放
- 区分程序化Bing AJAX地图导航与用户平移/缩放和窗口大小
- 阻止Windows 8上IE中的网页缩放/调整大小
- 使用mootools Fx缩放背景大小
- 调整弹出窗口的大小以缩放级别
- PDF 响应式缩放浏览器大小调整
- 谷歌地图根据窗口大小设置不同的缩放
- 在弹出窗口打开之前,模式弹出窗口中的Elevate zoom缩放窗口显示在内容后面
- 根据窗口大小和纵横比缩放图像
- HTML>根据窗口和图像大小旋转和缩放图像
- 禁用img缩放/调整大小?(如何获得“揭示效果”?)
- 如何检测滚动到底部时,页面缩放(调整大小)
- 在iframe中自动缩放(调整大小)图像
- 如何在javascript中缩放(调整大小)图像保持长宽比
- 当窗口大小调整时,D3缩放行为
- 如何缩放视频大小以适应帧
- 缩放Chrome应用程序窗口取决于显示大小
- 我如何创建一个画布的窗口分辨率的大小而不缩放
- 元素在调整大小时错位(使用最大宽度:100%根据窗口大小缩放)
- 根据窗口大小缩放 HTML5 网页