public void zoom(double x,double y,double factor){
  double rangeX=Math.abs(currentExtent.getMaxX() - currentExtent.getMinX());
  double rangeY=Math.abs(currentExtent.getMaxY() - currentExtent.getMinY());
  currentExtent.setMinX(x - (rangeX * factor) / 2.0);
  currentExtent.setMinY(y - (rangeY * factor) / 2.0);
  currentExtent.setMaxX(x + (rangeX * factor) / 2.0);
  currentExtent.setMaxY(y + (rangeY * factor) / 2.0);
  addToExtentHistory(currentExtent);
}

public void zoom ( double x , double y , double factor ) { double rangeX = Math . abs ( currentExtent . getMaxX ( ) - currentExtent . getMinX ( ) ) ; double rangeY = Math . abs ( currentExtent . getMaxY ( ) - currentExtent . getMinY ( ) ) ; currentExtent . setMinX ( x - ( rangeX * factor ) / 2.0 ) ; currentExtent . setMinY ( y - ( rangeY * factor ) / 2.0 ) ; currentExtent . setMaxX ( x + ( rangeX * factor ) / 2.0 ) ; currentExtent . setMaxY ( y + ( rangeY * factor ) / 2.0 ) ; addToExtentHistory ( currentExtent ) ; }
performs a zoom and center operation
