Клуб API Карт

Проблема с декартовыми координатами

Пост в архиве.
mmolive
1 мая 2010, 12:46

Вобщем что-то я недопонимаю, подскажите пожалуйтса)

есть картинка 2560x2560 нарезанная на тайлы

вобщем создают систему координат:

...

var myCoordSystem = new YMaps.CartesianCoordSystem(
                new YMaps.Point(0, 2560),
 new YMaps.Point(2560, 0), 
            1, 
            5
            );

...

создаю карту


map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0], {
                coordSystem: myCoordSystem 
            });

...

Все шикарно, карту кажет, но...

добавляю свою метку

...

var point=new YMaps.Point(1000, 1000);
map.addOverlay(new YMaps.Placemark(point,{style:s_boss}));
...

по сути вещей если карта 2560x2560 то метка должна оказаться на середине карты,

а она у меня далеко за ней. Подскажите как сделать так чтобы координаты соответсвовали пикселям картинки?

вот здесь работающий пример:

http://dev.mykotlas.ru/?do=map

2 комментария
Вы немножко ошиблись с масштабом. Замените 5 на 6.
Вот фрагмент кода с одним типом карты:

var myData = new YMaps.TileDataSource("http://dev.mykotlas.ru/maps/tiles_big/", false, true);
myData.getTileUrl = function (tile, zoom) {
    return this.getTileUrlTemplate() + '' + (zoom + 6) + '/' + 'tile-' + tile.x + '-' + tile.y + '.jpg';
};

var myType = new YMaps.MapType([new YMaps.Layer(myData)], "Схема", { minZoom : 1, maxZoom : 5 }),
    myCoordSystem = new YMaps.CartesianCoordSystem( new YMaps.Point(0, 0), new YMaps.Point(2560, 2560), 1, 5),
    map = new YMaps.Map(YMaps.jQuery("#YMapsID-114")[0], { coordSystem : myCoordSystem });

map.setCenter(new YMaps.Point(1300, 1300), 1, myType);
map.addOverlay(new YMaps.Placemark(map.getCenter()));
Благодарю.