вот наверное всё что нужно знать:
delphi Код:
regionSize=32768;
GEO_X_FIRST = 11;
GEO_Y_FIRST = 10;
MAP_MIN_X = (GEO_X_FIRST - 20) shl 15;
MAP_MIN_Y = (GEO_Y_FIRST - 18) shl 15;
x:=(x - MAP_MIN_X);
y:=(y - MAP_MIN_Y);
GX:=x div regionSize + GEO_X_FIRST; //получаем х региона
GY:=y div regionSize + GEO_Y_FIRST; //получаем у региона
mx:=(x-(x mod regionSize)) div (regionSize div regionPixelSize); //получаем координаты на карте
my:=(y-(y mod regionSize)) div (regionSize div regionPixelSize); //в зависимости от размера региона в пикселях
// тут ещё надо вычитать координаты первого рисуемого региона и всё, можно рисовать
PS писал на коленке, скорее всего где-то накосячил