Клуб API Карт

Plz! Давайте поговорим, как создать точку как у RouterEditor.

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

У RouterEditor есть два желаемых свойства:

 1. "магнитизм"

 2. не мерцающее отображение на маршруте

 

2.

Т.к. не удалось найти что-либо в документации, я создал два div'а - http://img812.imageshack.us/img812/300/balln.png

Один для отображения данных, второй - для шарика. Все это отображаю по событиям у PolyLine.

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

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

 

В этом Клубе нашел только обсуждения подобной проблемы, но не как решить.

 

1.

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

У меня на карте PolyLine и я не совсем представляю как сделать подобный эффект.

 

Спасибо.

 

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

может тогда вам использовать роутер-эдитор?

буду пробовать, т.к. пока других вариантов не вижу

попробовал, но я так понял, там для моих целей надо вырезать функционал с прокладыванием альтернативных маршрутов.Из документации не понял, как это сделать.

 

Другой вариант, что если мне нужна ломаная по моим координатам, а не маршрутным, то роутер-эдитор тут совсем не поможет, насколько я понимаю.

По поводу пункта 1 есть такая идея: вычислять минимальное расстояние от курсора до ломаной. Если расстояние превышает N, то удалять дивку с шариком, а если не превышает, то ставить шарик на ближайшую точку на ломаной.

 

Есть идеи получше?