code: function(dx, dy) {
          var hw = this.size.w / 2;
          var hh = this.size.h / 2;
          var x = hw + dx;
          var y = hh + dy;
          var wrapDateLine = this.baseLayer.wrapDateLine;
          var xRestriction = 0;
          var yRestriction = 0;
          if (this.restrictedExtent) {
              xRestriction = hw;
              yRestriction = hh;
              // wrapping the date line makes no sense for restricted extents
              wrapDateLine = false;
          }
          dx = wrapDateLine ||
                      x <= this.maxPx.x - xRestriction &&
                      x >= this.minPx.x + xRestriction ? Math.round(dx) : 0;
          dy = y <= this.maxPx.y - yRestriction &&
                      y >= this.minPx.y + yRestriction ? Math.round(dy) : 0;
          if (dx || dy) {
              if (!this.dragging) {
                  this.dragging = true;
                  this.events.triggerEvent("movestart");
              }
              this.center = null;
              if (dx) {
                  this.layerContainerOriginPx.x -= dx;
                  this.minPx.x -= dx;
                  this.maxPx.x -= dx;
              }
              if (dy) {
                  this.layerContainerOriginPx.y -= dy;
                  this.minPx.y -= dy;
                  this.maxPx.y -= dy;
              }
              this.applyTransform();
              var layer, i, len;
              for (i=0, len=this.layers.length; i<len; ++i) {
                  layer = this.layers[i];
                  if (layer.visibility &&
                      (layer === this.baseLayer || layer.inRange)) {
                      layer.moveByPx(dx, dy);
                      layer.events.triggerEvent("move");
                  }
              }
              this.events.triggerEvent("move");
          }
      }
docs: Method: moveByPx
  Drag the map by pixels.
  
  Parameters:
  dx - {Number}
  dy - {Number}