在Windows 8 rt javascript应用程序中的传单冻结缩放

时间:2014-02-24 15:26:18

标签: windows-runtime winjs leaflet

我使用面向Windows 8.1的JavaScript / HTML5创建了一个Windows应用商店应用。该应用程序在我的单页应用程序中有3页的传单0.7.2地图。我有相同的应用程序,在浏览器中运行良好。 WinRT应用程序在调试时也很有用。问题仅在我没有调试时发生,然后地图开始冻结缩放。当我慢慢地使用应用程序时,地图几乎不会冻结,但是当我连续快速缩放5到10次时,地图会冻结,并且在我导航到另一个页面然后返回到地图页面后才开始响应。

我尝试了以下操作,这些内容在我的应用中仍然有效:

  • 围绕我的zoomanimation和loadtile函数设置超时
  • 将zoomanimation和fadeanimation设置为true
  • 我将unloadinvisibletiles设为true

我启用了WinJS日志记录,如果发生错误,我会设置WinJS.Application.onerror来记录。但是没有任何错误或例外被抛出。

有谁知道我能做些什么来解决这个讨厌的错误?

提前致谢,

伊恩

1 个答案:

答案 0 :(得分:1)

我发现了一个错误报告,其中包含一个有效的解决方法!

见这里:https://github.com/Leaflet/Leaflet/issues/2693

具体来说,您需要添加一些代码:

map.on('zoomanim', debounce(map._onZoomTransitionEnd, 250));

可以在此处找到去抖功能:http://davidwalsh.name/javascript-debounce-function