我的网络应用程序可让用户创建新的基于位置的旅行。有一个谷歌地图地图显示他们在表格中输入的当前位置。
我已经在this post about touch scrolling and google-maps中读到,大部分的触摸滚动都可以使用此代码:
var dragFlag = false;
var start = 0, end = 0;
$('#maps-map').on('touchstart', function(e) {
console.log('Starting!');
dragFlag = true;
start = e.originalEvent.touches[0].pageY;
});
$('#maps-map').on('touchmove', function(e) {
console.log('Moving!');
if ( !dragFlag ) return;
end = e.originalEvent.touches[0].pageY;
window.scrollBy( 0,( start - end ) );
});
$('#maps-map').on('touchend', function(e) {
console.log('Ending');
dragFlag = false;
});
当然,谷歌地图必须添加到以下容器中:
<div id="#maps-map"></div>
现在如果我在我的HTC设备上测试它,在我的控制台中我得到:
'Starting!'
'Moving!'
'Moving!'
'Ending!'
但是如果我在调试我的诺基亚Lumnia设备(模拟)时看到我的控制台,我什么也得不到。
支持此设备的Jquery states。不做这种直观的触摸手势的原因是什么?