Koordinate aus Pixelpostion errechnen

Hallo zusammen,

ich programmiere gerade an einem kleinen Tool das Tiles laden und anzeigen kann. Das Funktioniert auch ganz gut, ich kann eine Koordinate angeben, die entsprechenden Tils dazu laden und Anzeigen. Zoomen in dieser Karte ist auch kein Problem. Mein Problem ist, das ich die Karte auch gerne verschieben würde, ich weiß aber leider nie um wie viel.

Erst einmal müsste ich dazu auf einer Pixelposition eine Koordinate ermitteln und daran scheitere ich gerade. Ich habe also einen Pixelwert aber wie ermittle ich daraus eine Koordinate?
Wenn ich dazu in der lage wäre, könnte ich die verschiebung in lon(x) und lat(y) ermitteln und damit die entsprechenden Tiles laden.
Für ein paar Anregungen oder links wäre ich Dankbar!

Hier mal ein paar Codestücke(java) mit denen ich bisher Arbeite:
So ermittle ich die Tiles:
int xtile = (int) Math.floor((lon + 180) / 360 * (1 << zoom));
int ytile = (int) Math.floor((1 - Math.log(Math.tan(Math.toRadians(lat)) + 1 / Math.cos(Math.toRadians(lat)))/ Math.PI) / 2 * (1 << zoom));

Hiermit lade ich die entsprechende Tiles:
new URL(“http://tile.openstreetmap.org/” + z + “/” + x + “/” + y + “.png”);

http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames

Genau wie in dem Link beschrieben ermittle ich die Tiles.
Allerdings finde ich leider keinen Hinweis wie ich die genau Koordinate auf einem Tile ermittel.

Angenommen ich würde mit meiner Maus über die angezeigten Tiles fahren und dann könnten ich mir jeweils die xy-Pixelposition anzeigen lassen. Abhängig zu den Tile startende bei 0/0 oben in der Ecke der Karte oder mit 0/0 an der Monitor Ecke.
Aber wie bekomme ich daraus die Geo Koordinate die unter der Maus liegt?

Vielleicht hilft dieser Thread:

http://forum.openstreetmap.org/viewtopic.php?id=7142

Hier steht die Lösung!

Schöne Grüße

PA94