Клуб API Карт

Raphaёl.js и Yandex API на собственной карте

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

Добрый день!

Имеется карта небольшого города(только город, без карт Яндекса). Существует ли возможность подключить Raphael.js как слой карты? И не нарушает ли это лицензионное соглашение?

9 комментариев

не нарушает

спасибо, а что насчет возможности реализации этого "симбиоза"?

А что вы хотите через рафаел отобразить?

От этого зависит то в какой элемент(метку или "ground overlay") вставляется код.

И чем стандартная графика АПИ не устраивает?

Через Raphael планируется отображать некоторые элементы path которые будут браться из БД, как например маршруты. Преимущество над стандартной - больше вариантов анимаций и манипулирование объектами.

И жуткие тормоза :)

Рафаэль немного так не оптимизирован для таких работ(когда можно двигать карту куда угодно).

Все можно было бы решить через обычный макет метки, но, так как требуется масшабирование графики, вам прийдется реализовать свой IOverlay.

Самое главное про что нельзя забывать - конейнер рафаэля должен быть прозрачен для событий. Подразумевается что все события мышки(и touch) которые вам "не нужны" прийдется переправлять карте. Ручками. Иначе через ваш обьект она не будет таскаться.

В любом случае укажите какие анимации и манипуляции вы хотели вы совершать.

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

я так понимаю это слишком муторно, и лучше избавиться от Рафаель в пользу стандартных процедур. просто встретил плагин для Leaflet, поэтому подумал что есть чтото подобное для YandexАПИ. А Leaflet не устраивает изза того, что я так и не понял как избавиться от LatLng координат в пользу декартовых(кажется там не работает та функция)

п.с. насчет тормозов - испытывалось, при наличии небольшого количества объектов тормоза не ощутимы, а вот если их много то это даааа.

1.подсвечивание(постепенное изменение цвета) фигуры

Анимируйте значение opacity у геообьекта.

2. рисование кривых(не мгновенное появление)

морфинга нет.

3. имитация движения пунктирной линии.

Задайте свойство strokeStyle во второй форме - strokeStyle:{ style:'dash',offset: someOffset}. Анимируйте этот offset.

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

а как насчет отображения полигонов или кривых?

вобщем в Рафаель использовался path. Есть БД с записями как в SVG коде так и для Рафаеля.

Кривых у нас в АПИ нет(разве только эллипсы).

А что линии, что полигоны требуют просто массив координат на вход.

SVG path они не поймут.