Прошу подсказать. Работа с SVG.
26 апреля 2009 в 01:34

Прошу подсказать. Работа с SVG.

Здравствуйте! Прошу подсказать знающих. Есть файл в формате svg (карта ФО России), на карте каждый округ можно редактировать отдельно. Как сделать из этого формата карту, чтобы каждый округ был как ссылка, имеется ввиду создание обычных карт изображения. Может какой софт для этого есть специальный? Короче чтобы получилось что-то типа http://www.groz.ru/index.php?option=com_content&task=view&id=66&Itemid=174

266
Автор:
Комментарии (9)
  • 26 апреля 2009 в 09:45 • #
    Василий Бережной

    Если я вас правильно понял...
    SVG - это формат векторной графики. А ваш пример - это реализация js+растровая графика + это явно находится на каком-то программном движке.

  • 26 апреля 2009 в 10:38 • #
    Антон Казаков

    Сделать примерно так же элементарно, как сделано в приведённом примере, только слегка геморройно. Вам нужно сохранить Ваш svg-файл в растровый формат, чтобы получить карту (типа вот такой, из примера: http://groz.ru/ita/img/dl/defaultmap.gif ). Потом нужно сделать по одному растровому рисунку на каждый выделенный регион (типа штриховки из примера - http://www.groz.ru//ita/img/dl/reg3_o.gif ). После этого - самый геморрой. Нужно задать для каждого региона полигональную область на рисунке с картой (это для применения ). Ну а потом остаётся только правильно расположить друг относительно друга карту и штриховочные картинки, сделать картинки невидимыми и показывать их при наведении на уже заданную полигональную область с помощью JavaScript'а.

    Но вообще решений этой задачи может быть несколько - не обязательно делать так, как сделано на http://www.groz.ru. Можно, например, сделать "в лоб", вдвое проще, но примерно раз в 10 более громоздко по трафику, - сделать для каждого выделенного региона свою карту (целиком тот же рисунок с картой, только регион будет закрашен) и просто менять атрибут src у img'а с картой при наведении на заданную полигональную область этого региона.

  • 26 апреля 2009 в 12:34 • #
    Василий Бережной

    А так же flash и пр.
    В данной реализации действительно используется map, но вот кол-во точек наводит на мысль, что это делалось через какие-л. спец.прогаммы.

  • 26 апреля 2009 в 16:20 • #
    Антон Казаков

    Совершенно не факт. Лично я бы не поленился в фотошопе курсором поводить, в принципе, при случае :)

    Но реализовать это с помощью флэша - тоже вполне вариант. По трафику, кстати вполне может быть и поменьше.

  • 26 апреля 2009 в 17:46 • #
    no no

    Спасибо большое всем за ответы! Но вопрос остается тотже, моя цель - как упростить себе работу, чтобы не высчитывать координаты для map, чтобы избавитьсмя от гемороя. Думаю сделать во флеше единственный вариант, да и тоже, выделять контуры округов не так уж просто, для созданиря объектов кнопок..

  • 26 апреля 2009 в 18:35 • #
    Василий Бережной

    За то время, пока вы задавали вопрос и вам отвечали, уже можно было все сделать :-) Все возможные пути вам уже подсказали. Дальше дело за вами - или делаете сами или отдаете кому-нибудь на реализацию.

  • 28 апреля 2009 в 17:04 • #
    Владимир Кожин

    именно на сайте http://www.groz.ru/index.php?option=com_content&task=view&id=66&Itemid=174
    Это обычная картинка, сделанная с исползованием "карты" - map, в коде есть все данные.

  • 27 апреля 2009 в 00:37 • #
    Дмитрий Розов

    Можно попытаться использовать JavaFX.Когда пишете на нём апплет,то апплет сам вычисляет координаты.Единственно надо скачивать программу с сайта SUN.

  • Желаете ознакомиться с остальными комментариями или оставить свой? в сеть, чтобы получить полный доступ к функционалу Профессионалов.ru! Еще не участник сети?