function restrictMap(vm,min,max){
var ozi=vm.ZoomIn;
vm.SetMaxZoom = function (n) {
    if (this.origZoomIn == null) this.origZoomIn = ozi;
    this.MaxZoomLevel = n;
    this.ZoomIn = function () {
      if (this.GetZoomLevel() == this.MaxZoomLevel) return false;
      this.origZoomIn();
    }
  };

  vm.ClearMaxZoom = function () {
    if (this.origZoomIn == null) return;
    this.MaxZoomLevel = null;
    this.ZoomIn = this.origZoomIn;
  };
var ozo=vm.ZoomOut;
  vm.SetMinZoom = function (n) {
    if (this.origZoomOut == null) this.origZoomOut = ozo;
    this.MinZoomLevel = n;
    this.ZoomOut = function () {
      if (this.GetZoomLevel() == this.MinZoomLevel) return false;
      this.origZoomOut();
    }
  };

  vm.ClearMinZoom = function () {
    if (this.origZoomOut == null) return;
    this.MinZoomLevel = null;
    this.ZoomOut = this.origZoomOut;
  };


  var osz = vm.SetZoom;
  vm.SetZoom = function (b) {

    if (this.origSetZoom == null) this.origSetZoom = osz;

    if (this.MaxZoomLevel != null && b > this.MaxZoomLevel)
      return this.origSetZoom(this.maxZoomLevel);
    else if (this.MinZoomLevel != null && b < this.MinZoomLevel)
      return this.origSetZoom(this.minZoomLevel);
    else
     return this.origSetZoom(b);
  };

vm.SetMinZoom(min);
vm.SetMaxZoom(max);
}