Клуб API Карт

Координаты смещаются при увеличении

stykni
22 декабря 2010, 23:53

Всем доброго времени суток!

Необходимо сделать карту одного городка, нарезал изображения, вставил, вроде все хорошо, начал добавлять Балуны, озадачило... При увеличении балун смещается в другую точку, не понимаю в чем дело.

Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Примеры. Создание своей карты.</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script src="http://api-maps.yandex.ru/1.1/index.xml?key=ANpUFEkBAAAAf7jmJwMAHGZHrcKNDsbEqEVjEUtCmufxQMwAAAAAAAAAAAAvVrubVT4btztbduoIgTLAeFILaQ==" type="text/javascript"></script>
    <script type="text/javascript">
        // Создание обработчика для события window.onLoad
        YMaps.jQuery(function () {
       
            // Создаем декартову систему координат:
            var myCoordSystem = new YMaps.CartesianCoordSystem(
                    new YMaps.Point(0, 0),      // координаты левого нижнего угла
                    new YMaps.Point(80, 80),  // координаты правого верхнего угла
                    1                           // масштаб
                );

                // Создаем карту
                map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0], {
                    coordSystem: myCoordSystem // передаем нашу систему координат
                }),


            // Установка для карты ее центра и масштаба
            map.setCenter(new YMaps.GeoPoint(),2);

            // Добавление элементов управления
            map.addControl(new YMaps.Zoom({ noTips: true }));



            // Создание источника данных
            var myData = new YMaps.TileDataSource("http://mt.gmapuploader.com/tiles/FVSH1JsvdT/", false, true);
            myData.getTileUrl = function (tile, zoom) {
                return "http://test1.ru/map_image/" + zoom + "/" + tile.y + "-" + tile.x + ".jpg";
            }

            // Установка авторских прав
            map.addCopyright("yandex");

            // Создание нового типа карты
            map.setType(new YMaps.MapType([new YMaps.Layer(myData)], "Карта", {minZoom:3, maxZoom:5}));
           
           
            // Установка для карты ее центра и масштаба
            map.setCenter(new YMaps.GeoPoint(400, 400), 3);
           
            // Включим масштабирование колесом мыши
            map.enableScrollZoom();

            // Открытие балуна
            map.openBalloon(new YMaps.GeoPoint(-50, -50), "Москва");

        });
    </script>

    <style type="text/css">
        html, body, div#YMapsID {
            width:100%;
            height:100%
        }
       
        body {
            margin:0;
            padding:0
        }
    </style>

</head>

<body>
    <div id="YMapsID"></div>
</body>

</html>

Заранее благодарен!

2 комментария
Подписаться на комментарии к посту
Вместо YMaps.GeoPoint используйте YMaps.Point.
Большое спасибо!

А можно по краяем карты убрать "Для этой местности нет данных"? А лучше вообще огрнаничить размер карты.

Спасибо!

P.S. Сейчас заметил, что точка, где находится балун отличается координатами если зум х2 и х3. Т.е. если зум х2, то где-то посередине примерно, а если х3 и далее - ниже.