Создавайте отдельный класс mapNavigator. который получает на вход только фулсайз карту, и размеры экрана. Это чтоб не было путаницы.
Внутри должен быть один метод типа moveController, который контролирует чтоб границы карты не выходили за границы экрана при любом дейсвтии с ней(зум, мув)

Код AS3:
private function moveController() {
var widthConst:Number = 2500*map.scaleX;
var heightCont:Number = 2000*map.scaleY;
map.x = Math.round(map.x);
map.y = Math.round(map.y);
if (map.x> 0) map.x = 0;
if (map.y > 0) map.y = 0;
if (map.x < -(widthConst - scrollRect.width)) map.x = -(widthConst - scrollRect.width);
if (map.y < -(heightCont - scrollRect.height)) map.y = -(heightCont - scrollRect.height);
}