Клуб API Карт

Стрелки.

Yes-it-is
25 августа 2011, 20:09

Конечно очень бы хотелось, чтобы стрелки были составной частью API? А ещё лучше, чтобы с тенями (как балуны). Но в связи с их отсутствием пытаюсь вставить стрелки согласно примеру.

http://api.yandex.ru/maps/articles/examples/overlaypolylinewitharrows.html

Уважаемые господа, помогите пожалуйста.

Что нужно сделать, чтобы стрелки рисовались не по середине вектора, а как ей и положено в конце вектора?

Понятно, что что-то нужно изменить вот в этом куске кода. Только что?

 

                            // Середина отрезка
                            var middle = current.diff(prev.neg()).neg().scale(1/2);

                                // Отступ от сердины
                                offsetMiddle = normal.scale(-arrowWidth / 2),

                                // Перпендикуляры к сегменту ломанной
                                arrowPart1 = new YMaps.Point(0 - offsetMiddle.getY(), offsetMiddle.getX()).scale(0.4),
                                arrowPart2 = new YMaps.Point(offsetMiddle.getY(), 0 - offsetMiddle.getX()).scale(0.4),

                                // Точки для рисования стрелочки
                                arrowPoint1 = middle.diff(offsetMiddle).diff(arrowPart1.neg()),
                                arrowPoint2 = middle.diff(offsetMiddle).diff(arrowPart2.neg()

                            // Добавляем стрелочку
                            arrows.add(new YMaps.Polygon([
                                this.getMap().converter.localPixelsToCoordinates(middle),
                                this.getMap().converter.localPixelsToCoordinates(arrowPoint1),
                                this.getMap().converter.localPixelsToCoordinates(arrowPoint2)
 

 ???

 

2 комментария
Подписаться на комментарии к посту

var middle = current.diff(prev.neg()).neg().scale(1/2);

заменить на

var middle = current;

Спасибо большое.