LibGDX - Move camera to cursor location when dragged

Howdy gents and ladies

I seem to be having issue in getting my camera to move to the cursor location in a smooth fashion. If you have ever played an RTS game then you may be aware of the type of movement I am looking for. When a user presses the left mouse button down, I want the camera to slowly move to the location of the cursor.

Now… here is what I have so far.

I am taking the cursor cords and un-projecting them to the world cords system
I then take those positions and add then to the camera.position.x and camera.position.y
I then multiple the movement by the speed variable to get a movement that will be more smooth

There seems to be multiple issues with this approach. The first is that the camera just moves extremely fast and I can’t seem to slow it down. The other issue is likely the way I am handling the actually movement of the camera as I could see 2 different ways of doing this. I could move the camera to the cursor position no matter where on the screen it is, however I would need to have a tolerance check to stop any horrible rendering flickering. The other way is to check if the cursor position is at the left/right/top/bottom of the screen and then move to that location slowly. I personally like the first approach.

Just wondering if anyone had any idea to what I am doing wrong?