demo/www/lib/ionic/js/ionic.bundle.js
function(level, animate, originLeft, originTop) {
    var self = this;

    if (!self.options.zooming) {
      throw new Error("Zooming is not enabled!");
    }

    // Stop deceleration
    if (self.__isDecelerating) {
      zyngaCore.effect.Animate.stop(self.__isDecelerating);
      self.__isDecelerating = false;
    }

    var oldLevel = self.__zoomLevel;

    // Normalize input origin to center of viewport if not defined
    if (originLeft == null) {
      originLeft = self.__clientWidth / 2;
    }

    if (originTop == null) {
      originTop = self.__clientHeight / 2;
    }

    // Limit level according to configuration
    level = Math.max(Math.min(level, self.options.maxZoom), self.options.minZoom);

    // Recompute maximum values while temporary tweaking maximum scroll ranges
    self.__computeScrollMax(level);

    // Recompute left and top coordinates based on new zoom level
    var left = ((originLeft + self.__scrollLeft) * level / oldLevel) - originLeft;
    var top = ((originTop + self.__scrollTop) * level / oldLevel) - originTop;

    // Limit x-axis
    if (left > self.__maxScrollLeft) {
      left = self.__maxScrollLeft;
    } else if (left < 0) {
      left = 0;
    }

    // Limit y-axis
    if (top > self.__maxScrollTop) {
      top = self.__maxScrollTop;
    } else if (top < 0) {
      top = 0;
    }

    // Push values out
    self.__publish(left, top, level, animate);

  }
function(level, animate, originLeft, originTop) {
    var self = this;

    if (!self.options.zooming) {
      throw new Error("Zooming is not enabled!");
    }

    // Stop deceleration
    if (self.__isDecelerating) {
      zyngaCore.effect.Animate.stop(self.__isDecelerating);
      self.__isDecelerating = false;
    }

    var oldLevel = self.__zoomLevel;

    // Normalize input origin to center of viewport if not defined
    if (originLeft == null) {
      originLeft = self.__clientWidth / 2;
    }

    if (originTop == null) {
      originTop = self.__clientHeight / 2;
    }

    // Limit level according to configuration
    level = Math.max(Math.min(level, self.options.maxZoom), self.options.minZoom);

    // Recompute maximum values while temporary tweaking maximum scroll ranges
    self.__computeScrollMax(level);

    // Recompute left and top coordinates based on new zoom level
    var left = ((originLeft + self.__scrollLeft) * level / oldLevel) - originLeft;
    var top = ((originTop + self.__scrollTop) * level / oldLevel) - originTop;

    // Limit x-axis
    if (left > self.__maxScrollLeft) {
      left = self.__maxScrollLeft;
    } else if (left < 0) {
      left = 0;
    }

    // Limit y-axis
    if (top > self.__maxScrollTop) {
      top = self.__maxScrollTop;
    } else if (top < 0) {
      top = 0;
    }

    // Push values out
    self.__publish(left, top, level, animate);

  }
function ( level , animate , originLeft , originTop ) { var self = this ; if ( ! self . options . zooming ) { throw new Error ( "Zooming is not enabled!" ) ; } // Stop deceleration if ( self . __isDecelerating ) { zyngaCore . effect . Animate . stop ( self . __isDecelerating ) ; self . __isDecelerating = false ; } var oldLevel = self . __zoomLevel ; // Normalize input origin to center of viewport if not defined if ( originLeft == null ) { originLeft = self . __clientWidth / 2 ; } if ( originTop == null ) { originTop = self . __clientHeight / 2 ; } // Limit level according to configuration level = Math . max ( Math . min ( level , self . options . maxZoom ) , self . options . minZoom ) ; // Recompute maximum values while temporary tweaking maximum scroll ranges self . __computeScrollMax ( level ) ; // Recompute left and top coordinates based on new zoom level var left = ( ( originLeft + self . __scrollLeft ) * level / oldLevel ) - originLeft ; var top = ( ( originTop + self . __scrollTop ) * level / oldLevel ) - originTop ; // Limit x-axis if ( left > self . __maxScrollLeft ) { left = self . __maxScrollLeft ; } else if ( left < 0 ) { left = 0 ; } // Limit y-axis if ( top > self . __maxScrollTop ) { top = self . __maxScrollTop ; } else if ( top < 0 ) { top = 0 ; } // Push values out self . __publish ( left , top , level , animate ) ; }
Zooms to the given level. Supports optional animation. Zooms
the center when no coordinates are given.

@param level {Number} Level to zoom to
@param animate {Boolean} Whether to use animation
@param originLeft {Number} Zoom in at given left coordinate
@param originTop {Number} Zoom in at given top coordinate
Zooms to the given level . Supports optional animation . Zooms the center when no coordinates are given .