Клуб API Карт

REQ: Пример добавления на ломаную простых геометрических объектов в API 2.0

KDV
20 июля 2012, 09:49
Помнится в API 1.1 были примеры добавления стрелочек векторов направления на отрисованную ломаную.
Нужно восполнить данный пробел в нехватке примеров для API 2.0

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

Заранее спасибо)
14 комментариев
Подписаться на комментарии к посту

Презенташки надо смотреть.

http://kashey.ru/maps/arrowOverlay.html

Кто сказал что будет легко?

Будет - но потом. В планах есть.

Сейчас можете подсмотреть принцип тиражирования оверлеев для создания такого эффекта, а вот математику этого дела я бы копировать не рекомендовал бы (что не задукоментированно то может и со временем меняет интерфейсы)

эээм....презенташку чего? Ссылочку можно?
API 2.0 смотрел, но чтото не помнится такого, на API 1.1 даже делал)
А вот за примерчик - спасибо большое!

А не рассматривали вариант использовать уже отрисованный img(файл с изображением стрелки), который лишь повернуть на нужный угол осталось?

PS Ждемс для кучи мнения сотрудников теперь, может что попроще предложат.

Презенташку с "АПИшника" второй версии.

В примере можно породить любое колличество оверлеев любого типа.

В том числе графические картинки поддерживают поворот.

PS в данный момент как отвественный за эти моменты сотрудник ничего предложить не могу, следите за обновлениями :P

Гы. Как отвественного за эти моменты сотрудника Вас чето в модераторы клуба включить забыли походу)))
Про презенташки, так по мне лучше максимально подробная дока + примеров поболее, чем куча презенташек. Меньше времени тратится на поиск ответов на текущие вопросы ибо как-то не очевидно для решения рядовых задач "АПИшника" смотреть)
PS Очень ждем наглядных компактных и стабильных в работе примеров реализации ;)

Год спустя повторный заход, как насчет геометрических объектов на оверлее без экзорцизма ? в API 2х

Есть вариант с чуть меньшим эксорцизмом, но суть пока не изменилась.

Я бы сам от "глифов" не отказался бы.

Давайте тогда начнем с малого... как перехватить события (пере)построения ломаной как в ранее опубликованном примере для API 1.x PolylineWithArrows, а именно onAddToMap, onRemoveFromMap, onMapUpdate, которых нифга нет в доке в описании к ломаной 2.0

Есть какие либо способы перехватить эти события? А уж отрисовать кучу многоугольников уж какнить и сам осилю)

Есть события mapchange и geometrychange, их тригерит сам оверлей, при этом нормальной возможности в этот момент подменить ему геометрию на "свою" или наплодить парочку новых оверлеев - нет.

Самый "удобный" в данный момент способ это

1. Создать просто геомерию, дать ей карту

2. Создать оверлей, наследник некого базового (ymaps.ymaps.overlay.staticGraphics.Polygon)

3. Перегрузить ему функцию

 

setGeometry: function (geometry) {
            MyOverlay.superclass.setGeometry.call(
                this,
                this.getMap() ? this._createGeometry(geometry) : geometry
            );
        },

4. Определить эту самую createGeometry который как-то создат нужную геометрию(тут уже "пиксельная" геометрия)

5. Создать оверлей, добавить на карту

6. Слушать на геометрии из пункта 1 событые "pixelgeometrychange" и передавать ее в оверлей.

 должен скоро пример такой работы показать.

И еще год спустя. Есть реальный пример добавления стрелок на ломаную?

Сделали пример со стрелкой http://api.yandex.ru/maps/jsbox/2.1/arrow

Пример просто офигителен по кол-ву строк кода, а в итоге стрелка всего одна в отличии от исходной просьбы....

Итого для отображения треков (с векторами движения по аналогии с Google Maps Arrow) пример ничуть не подходит.

Пример специально разбит на отдельные модули, которые вы можете вынести в отдельные файлы и использовать спокойно с помощью трех строк кода в основном коде проекта.

Если вам это трудно сделать, то тут действительно мы ничем не поможем)

Может быть когда-нибудь инфографика встроится в апи и тогда у вас все получится.

Ха! Похоже на развод на слабо и уход от темы....

Задача была другой впринципе, одну стрелочку нарисовать вообще проблем нет, а в треке их как бы много обычно рисуют да и под разными углами и с периодичностью без перекрытий... так понятнее?

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

PS Пока что все с треками получается с применением API Google Maps 3, быть может когда реализуете вполне такую нередкую задачу - можно будет и Ваше API применить.