Updating .position

!!TITLE SHOULD BE UPDATING .POINTS!!

hi, at the moment i am just doing a little project whereby:

  1. the user can zoom in on a map using the Tween and scale functions,
  2. it takes the mouse co-ordinates of where the user clicks to zoom in and stores internalPoint and externalPoint
  3. when the user zooms out it zooms out from the 2points co-ordinates.

my problem is that i have other movement options on the map such as moving it left,right,up and down by 100pixels and dragging it (startDrag), so when the user zooms out the map jumps to its original position before zooming out.

so i was wondering is there a way that every time the user moves the map how i would update the co-ordinates of internal and externalPoint? or should i zoom out using a different way?

below is the relevant parts of my code

var internalPoint:Point;
var externalPoint:Point;
var tw:Tween;

function zoomIn(event:MouseEvent):void
{    
    internalPoint = new Point(mapContainer.insideMap.mouseX, mapContainer.insideMap.mouseY);
    externalPoint = new Point(mapContainer.insideMap.mouseX, mapContainer.insideMap.mouseY);
    tw = new Tween(null, "", Strong.easeOut, mapContainer.insideMap.scaleX, q, 1, true);
    tw.addEventListener(TweenEvent.MOTION_CHANGE, _syncScale);
}

//Function to zoomOut to original position
function zoomOut($e:MouseEvent):void
{
    externalPoint = stage.localToGlobal(internalPoint);
    internalPoint = stage.globalToLocal(externalPoint);

    tw = new Tween(null, "", Strong.easeOut, mapContainer.insideMap.scaleX, q, 1, true);
    tw.addEventListener(TweenEvent.MOTION_CHANGE, _syncScale);
}
function _syncScale($e:TweenEvent):void{
    mapContainer.insideMap.scaleX = mapContainer.insideMap.scaleY = tw.position; //zoom out from original co-ordinates
    var matrix:Matrix = mapContainer.insideMap.transform.matrix;
    MatrixTransformer.matchInternalPointWithExternal(matrix, internalPoint, externalPoint);
    mapContainer.insideMap.transform.matrix = matrix;
}