//>>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,_7){ this._map=_6; this._centerTouchLocation={x:0,y:0}; this._tapCount=0; this._lastTap={x:0,y:0}; this._tapThreshold=100; },connect:function(){ _touchStartListener=this._map.surface.connect("touchstart",this,this._touchStartHandler); },disconnect:function(){ if(this._touchStartListener){ _4.disconnect(this._touchStartListener); this._touchStartListener=null; } },_getTouchBarycenter:function(_8){ var _9=_8.touches; var _a=_9[0]; var _b=null; if(_9.length>1){ _b=_9[1]; }else{ _b=_9[0]; } var _c=this._map._getContainerBounds(); var _d=(_a.pageX+_b.pageX)/2-_c.x; var _e=(_a.pageY+_b.pageY)/2-_c.y; return {x:_d,y:_e}; },_getFingerSpacing:function(_f){ var _10=_f.touches; var _11=-1; if(_10.length>=2){ var dx=(_10[1].pageX-_10[0].pageX); var dy=(_10[1].pageY-_10[0].pageY); _11=Math.sqrt(dx*dx+dy*dy); } return _11; },_isDoubleTap:function(_12){ var _13=false; var _14=_12.touches; if((this._tapCount>0)&&_14.length==1){ var dx=(_14[0].pageX-this._lastTap.x); var dy=(_14[0].pageY-this._lastTap.y); var _15=dx*dx+dy*dy; if(_15this._tapThreshold){ this._tapCancel=true; } } var _2e=this._getTouchBarycenter(_2c); var _2f=this._map.screenCoordsToMapCoords(_2e.x,_2e.y),_30=_2f.x-this._centerTouchLocation.x,_31=_2f.y-this._centerTouchLocation.y; var _32=1; var _33=_2c.touches; if(_33.length>=2){ var _34=this._getFingerSpacing(_2c); _32=_34/this._initialFingerSpacing; this._map.setMapScale(this._initialScale*_32); } var _35=this._map.getMapCenter(); this._map.setMapCenter(_35.x-_30,_35.y-_31); }}); });