ペット プロジェクトにいくつかのタッチスクリーン機能を実装するために、hammer.js を使用しています。
目的の製品は、ドラッグしてドラッグし、タッチスクリーンでズームインおよびズームアウトできるマップです。ピンチ/ピンチアウトのメカニズムが非常に遅いことを除けば、すべてがうまく機能しています。ピンチが発生してからイベントが発生するまでの間には、非常に顕著な遅延があります。
関連する JQuery/JS コードは次のとおりです。
編集: コードは、Simon の提案に従って、より優れた (そしてより高速な) ものになりました。完成版はこちら
$(document).ready(function(){
  //Function which simulates zoom on the map on pinchin/pinchout
  $('#map').hammer()
    .on("pinchin", function(e) {
      var scale = $(this).css('transform');
      scale = (scale == null ? $(this).css('-webkit-transform') : scale); 
      scale = (scale == null ? $(this).css('-ms-transform') : scale);
      scale = scale.split(" ");
      scale = parseFloat(scale[0].substring(7, scale[0].length - 1));
      if(scale > 1) {
        scale = ('scale(' + (scale - .1).toString() + ')');
        $(this).css({'transform':scale, '-ms-transform':scale, '-webkit-transform':scale });
      }
    })
    .on("pinchout", function(e) {
      var scale = $(this).css('transform');
      scale = (scale == null ? $(this).css('-webkit-transform') : scale); 
      scale = (scale == null ? $(this).css('-ms-transform') : scale);
      scale = scale.split(" ");
      scale = parseFloat(scale[0].substring(7, scale[0].length - 1));
      if(scale < 5) {
        scale = ('scale(' + (scale + .1).toString() + ')');
        $(this).css({'transform':scale, '-ms-transform':scale, '-webkit-transform':scale
      }
  });
});