Ok, I think I didn't explain myself properly.
The first one is how the page looks on a regular browser on a desktop machine (Chromium on Linux in this case).
The second one is how the page looks with what I call the "mobile" UI (e.g. what you get in Android or iPhone, I think - but in this case it's on my custom Webkit application).
The difference between the two, besides of the position of the controls, is the fact that to drag the map in the first one you can use the mouse, but in the second one you can *only* use touch events (e.g. touch-and-drag to drag or pinch to zoom).
I don't know how Google decides to send one version of the UI or the other.
Initially I thought that it decided it by looking at the user agent. However I made my application send the same UA as Chromium, and I still get a different result, so Google must use some other way to decide to send me a different UI and enable touch instead of mouse.
My theory is that the maps API JS looks at the presence of touch event handlers like document.documentElement.ontouchstart and if they are present it will believe we're on a mobile and send the "mobile" Ui. I checked and Chromium doesn't have these handlers, while Webkit in my application does, so it seems that the theory may be right.
So, assuming all of the above is correct, what I would need is a way to ask to the maps API to ignore the presence of touch events and send the regular mouse-enabled version of the UI.
Hope it's more clear now.