Leaflet地图在Zoom上崩溃应用程序(通过PhoneGap / Android)

时间:2013-03-04 15:28:53

标签: javascript android cordova webkit leaflet

所以我在这个html5应用程序中使用Leaflet.js映射库(现在使用OpenStreetMaps)(一个非常简单的例子,所以我怀疑需要发布代码。),并使用PhoneGap(v4.2.0 ...我认为)。我正在为Android部署/测试。它运行良好,直到你缩放/捏缩放,在这种情况下应用程序崩溃(并不总是和不同的缩放级别)。

我已经尝试找出究竟发生了什么(使用abd),但无济于事,经过一次野鹅追逐后我的结果没有结果:

F/libc    ( 1902): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 1915 (WebViewCoreThre)
I/DEBUG   (  787): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  787): Build fingerprint: 'unknown'
I/DEBUG   (  787): pid: 1902, tid: 1915, name: UNKNOWN  >>> package.mypackage <<<
I/DEBUG   (  787): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000

不是很有帮助。下次尝试使用最新版本的Phonegap ......希望不大。有人有主意吗?感谢

2 个答案:

答案 0 :(得分:1)

请参阅此问题:https://github.com/Leaflet/Leaflet/issues/909

这似乎是Android 4.1浏览器的一个问题,可以通过设置:

来解决

window.L_DISABLE_3D = true;

在包含leaflet.js之前

,以便不使用硬件加速。它在我当前的Sencha 2.1.1 + PhoneGap Build应用程序中为我解决了这个问题。变焦看起来有点糟糕,但到目前为止我还没能让它崩溃。

答案 1 :(得分:0)

最新的手机版本为2.5.0(见https://github.com/phonegap/phonegap/tags)。

您可以尝试使用未压缩脚本处理应用程序中的任何错误的下一个代码:

window.onerror = function (message, url, line) {
    alert(message + '\n' + url + ': ' + line + '\n' + navigator.userAgent);
    // console.log(message, url, line, navigator.userAgent);
}

当您知道错误并将其放在何处时,您可以尝试使用远程控制台调试代码:http://jsconsole.com/以获取console.log消息(添加时间戳以查看实际序列)。