LZ用openlayer3做GIS开发,采用canvas打点的方式做地图标记
测试时发现android 5等大部分较新的手机均没有任何问题,"唯独"android4.2.2的一款索尼手机在狂点地图之后发生渲染延迟的现象,即点了一下,程序逻辑判断是显示点中触发函数了,但是canvas却没有渲染出应该有的画面————直到再点一次,才渲染出"前一次的画面"
我的逻辑是这样的:
map.on('click', function(evt) {
var feature = map.forEachFeatureAtPixel(evt.pixel,
function(feature) {
return feature;
});
if (feature) {
//如果点到了feature,那么绘制标记
}
else {
//没点到feature,只点到地图,那么擦除标记
}
});
唯独android4.2.2的索尼手机有问题,狂点地图后发生渲染延迟。
请问
1.可能是什么原因导致这种情况?
2.有什么解决方案?
4.4之前的Android机型,浏览器内核比较老,有些HTML5的标准支持得不好,内核性能比较差。。。