code: function(encoded, dims, opt_factor) {
          var factor = opt_factor || 1e5;
          var flatPoints = this.decodeDeltas(encoded, dims, factor);
          var flatPointsLength = flatPoints.length;
  
          var points = [];
          for (var i = 0; i + (dims - 1) < flatPointsLength;) {
              var point = [];
  
              for (var dim = 0; dim < dims; ++dim) {
                  point.push(flatPoints[i++])
              }
  
              points.push(point);
          }
  
          return points;
      }
docs: APIMethod: decode
  Deserialize an encoded string and return an array of n-dimensional
  points.
  
  Parameters:
  encoded - {String} An encoded string
  dims - {int} The dimension of the points that are returned
  
  Returns:
  {Array(Array(int))} An array containing n-dimensional arrays of
  coordinates.