//>>built define("dojox/geo/charting/TouchInteractionSupport",["dojo/_base/lang","dojo/_base/declare","dojo/_base/event","dojo/_base/connect","dojo/_base/window"],function(_1,_2,_3,_4,_5){ return _2("dojox.geo.charting.TouchInteractionSupport",null,{_map:null,_centerTouchLocation:null,_touchMoveListener:null,_touchEndListener:null,_touchEndTapListener:null,_touchStartListener:null,_initialFingerSpacing:null,_initialScale:null,_tapCount:null,_tapThreshold:null,_lastTap:null,_doubleTapPerformed:false,_oneFingerTouch:false,_tapCancel:false,constructor:function(_6){ this._map=_6; this._centerTouchLocation={x:0,y:0}; this._tapCount=0; this._lastTap={x:0,y:0}; this._tapThreshold=100; },connect:function(){ this._touchStartListener=this._map.surface.connect("touchstart",this,this._touchStartHandler); },disconnect:function(){ if(this._touchStartListener){ _4.disconnect(this._touchStartListener); this._touchStartListener=null; } },_getTouchBarycenter:function(_7){ var _8=_7.touches; var _9=_8[0]; var _a=null; if(_8.length>1){ _a=_8[1]; }else{ _a=_8[0]; } var _b=this._map._getContainerBounds(); var _c=(_9.pageX+_a.pageX)/2-_b.x; var _d=(_9.pageY+_a.pageY)/2-_b.y; return {x:_c,y:_d}; },_getFingerSpacing:function(_e){ var _f=_e.touches; var _10=-1; if(_f.length>=2){ var dx=(_f[1].pageX-_f[0].pageX); var dy=(_f[1].pageY-_f[0].pageY); _10=Math.sqrt(dx*dx+dy*dy); } return _10; },_isDoubleTap:function(_11){ var _12=false; var _13=_11.touches; if((this._tapCount>0)&&_13.length==1){ var dx=(_13[0].pageX-this._lastTap.x); var dy=(_13[0].pageY-this._lastTap.y); var _14=dx*dx+dy*dy; if(_14this._tapThreshold){ this._tapCancel=true; } } var _2d=this._getTouchBarycenter(_2b); var _2e=this._map.screenCoordsToMapCoords(_2d.x,_2d.y),_2f=_2e.x-this._centerTouchLocation.x,_30=_2e.y-this._centerTouchLocation.y; var _31=1; var _32=_2b.touches; if(_32.length>=2){ var _33=this._getFingerSpacing(_2b); _31=_33/this._initialFingerSpacing; this._map.setMapScale(this._initialScale*_31); } var _34=this._map.getMapCenter(); this._map.setMapCenter(_34.x-_2f,_34.y-_30); }}); });