OpenLayers-2.13.1 + Cordova在WP10或WP8.1中不能很好地平移

时间:2016-08-24 06:21:19

标签: javascript cordova windows-phone-8.1 openlayers windows-10-mobile

我用过

html {
    -ms-touch-action: none;
    touch-action: none;
}

风格和

 this.CordovaView.DisableBouncyScrolling = true;

在Cordova {。1}}文件的.cs文件中。

通过这些修复,我可以推进这么多:

  1. 在状态之前:地图在每次触摸时反弹,没有平底锅
  2. 状态之后:不再反弹,使用一分钟就会冻结。
  3. 我怎样才能让地图与pan事件一起运行,以便地图不会冻结,在那里和那里进行一些滑动后停止工作?为什么地图"记得"地图外的一些触摸事件和缩放仅用一根手指发生。

    我的消息来源:

    [1] https://github.com/vilic/cordova-plugin-fix-wp-bouncing

    [2] Prevent scrolling out of CordovaView in Cordova for Windows Phone 8

    [3] https://github.com/openlayers/ol2/issues/1290

1 个答案:

答案 0 :(得分:0)

Catcha!

我限制了屏幕尺寸,以便地图适合一个屏幕而不滚动,然后我提到的风格就是让反弹消失。

我还通过动态地将一个类添加到html并将修复程序限制到该类来限制该页面的样式:

<强> JS

    function applyClass(name,element,doRemove){
        if(typeof element.valueOf() == "string"){
            element = $wnd.document.getElementsByTagName(element)[0];
        }
        if(!element) return;
        if(doRemove){
            element.className = element.className.replace(new RegExp("\\b" + '\\s' + name + '\\s' + "\\b","g"), "");
        }else{      
            element.className = element.className + " " + name;
        }
    }
    applyClass('scrollfix', 'html', false); 

<强> CSS

html.scrollfix {
    -ms-touch-action: none;
    touch-action: none;
}

修复源:

[1] How to dynamically create CSS class in JavaScript and apply?