zoom is a two-finger gesture, so you need to listen on touchmove with event.targetTouches.length == 2 and then read the X and Y coordinates from each finger
the center of image scaling will be event.targetTouches [0] .pageX - event.targetTouches 1 .pageX and event.targetTouches [0] .pageY - event.targetTouches 1 .pageY depending on your scroll position or image (attention to + or -)
scalefactor vectorLengthCurrent-vectorLengthStart
. http://www.html5rocks.com/en/mobile/touch/
image: 
:
:
left: -100px | startFinger [0].pageX: 50px | currentFinger [0].pageX: 55px | startFinger 1.pageX: 150px | currentFinger 1.pageX: 140px
: startFinger 1.pageX - startFinger [0].pageX - left
( startFinger 1.pageX | Y )
:
sqrt (x ^ 2 + y ^ 2);