Cheizer
@Cheizer

Yandex map API как сдвинуть центр карты по px?


Приветствую, подскажите пожалуйста, как сдвинуть центр карты вместе с маркером в лево на 100px?

Пробовал через
var positions = myMap.getGlobalPixelCenter();
            myMap.setGlobalPixelCenter([ positions[0] - 100, positions[1] ]);

Но не работает, вызов такой:
if ($('.map').length) {
        ymaps.ready(function () {
            var myMap = new ymaps.Map('map', {
                center: [55.------, 37.------],
                zoom: 17
            }, {
                searchControl: 'yandex#search'
            });
			
			var positions = myMap.getGlobalPixelCenter();
            myMap.setGlobalPixelCenter([ positions[0] - 100, positions[1] ]);

                myPlacemark = new ymaps.Placemark(myMap.getCenter(), {
                    balloonContent: 'ул. Примерная д. 13А'
                }, {
                    iconLayout: 'default#image',
                    iconImageHref: '../media/bg/local2.svg',
                    iconImageSize: [266, 81],
                    iconImageOffset: [-40, -40]
                });

            myMap.geoObjects
                .add(myPlacemark)
            myMap.controls.remove('searchControl')
            myMap.behaviors.disable('scrollZoom')
        });
    }
  • Вопрос задан
  • 964 просмотра
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
var positions = myMap.getGlobalPixelCenter();
var offsetPos = myMap.options.get('projection').fromGlobalPixels([ positions[0] - 100, positions[1] ], myMap.getZoom());
var myPlacemark = new ymaps.Placemark(offsetPos);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы