Код:
mx:=x div (regionSize / psx)); //получаем координаты на карте
my:=y div (regionSize / psy)); //в зависимости от размера региона в пикселях
тут ошибка в скобках я так понял, лишняя скобка? если убрать то результат получается по нулям
Вот мой переделаный под php код может в нём что то не так???
PHP код:
<?
$psx = 1812;
$psy = 2620;
$x = 0;
$y = 0;
$regionSize = 32768;
$GEO_X_FIRST = 11;
$GEO_Y_FIRST = 10;
$MAP_MIN_X = ($GEO_X_FIRST - 20) << 15;
$MAP_MIN_Y = ($GEO_Y_FIRST - 18) << 15;
$x = ($x - $MAP_MIN_X);
$y = ($y - $MAP_MIN_Y);
$GX = $x / $regionSize + $GEO_X_FIRST; //получаем х региона
$GY = $y / $regionSize + $GEO_Y_FIRST; //получаем у региона
$mx = $x / ($regionSize / $psx); //получаем координаты на карте
$my = $y / ($regionSize / $psy); //в зависимости от размера региона в пикселях
$mx = $mx - (($GX - $GEO_X_FIRST)*$psx);
$my = $my - (($GY - $GEO_Y_FIRST)*$psy);
echo $mx."<br />";
echo $my."<br />";
?>
Вот нашёл формулу которая выводит (может она поможет) нормальные координаты только там карта с заданым размером и переменная data_red которая подходит для это карты и непонятно как она расчитывается
PHP код:
$data_red=1300; //переменная для карты 1812/2620
$map['aden_x']=$imgsize['aden'][0] / 100; //1% von der karte aden x
$map['aden_y']=$imgsize['aden'][1] / 100; //1% von der karte aden y
$data['x']=($x + 130000) / 3600;
$data['y']=($y + 0) / 5250;
$data['x']=$map['aden_x'] * $data['x'];
$data['y']=$map['aden_y'] * $data['y'] + $data_red;