Клуб API Карт

программное смещение объекта

Пост в архиве.

Здравствуйте. Отображаю на Яндекс карте маршруты по заранее известным геокоординатам. Эти маршруты (полилинии) мне нужно сместить (каждый маршрут на определенную величину в пикселах). Подскажите, каким образом это можно осуществить ?

Заранее спасибо.

 

2 комментария

Это можно сделать используя метод shift у пиксельной геометрии ломаной.

К сожалению я не нашел простого способа задать ломаной измененную пиксельную геометрию, поэтому приходится пересчитать в геокоординаты

 

            var newCoords = myPolyline.geometry.getPixelGeometry().shift([100, 50]).getCoordinates()

                .map(function (point) {

                    return myMap.options.get('projection').fromGlobalPixels(point, myMap.getZoom())

                })

            myPolyline.geometry.setCoordinates(newCoords);

Спасибо за подсказку. Все сделал. Но вот только не могу понять почему смещенная ломанная искажается в размерах (немного отличается от оригинала) ?