Метод startDrag вообще-то принимает параметры, в том числе прямоугольник, в котором разрешено таскать объект

Другое дело, что прямоугольник надо будет пересчитывать для объектов разного размера, чтобы отделить лимитные поля справа и снизу (иначе объект будет уходить своей нижней границей ниже границы карты — прямоугольник определяет область, в которой может находиться точка (0, 0) таскаемого объекта).