![]() |
Отрисовка векторной карты города
Подготовка:
Есть векторная карта города (cdr), с помощью VBA (for Corel) обходим все слои и элементы на них и заносим данные в тектовый файл в формате: Код:
id=77164;layer=first;bkcolor=68,158,214;pencolor=;type=curve;coords=0.976,1270.20,112.921,1272.4345.....-серверный скрипт php, который парсит данные текстового файла и генерит xml -flash который грузить xml сгенеренный php скриптом и отрисовывает с помощью moveTo,lineTo полигоны, полилинии,.... Все обсуждения, которые велись на данном форуме как привило были о уже готовых MovieClip-ах картах - созданных импортом во flash, отрисованных руками во flash, ... или таких же готовых но подгружаемых swf по слоям. Вопрос: стоит ли так создавать карту динамически отрисовывая ее? как избежать тормозов при работе flash с данными и отрисовкой? как оптимально распределить чем занимается flash, а чем php? Буду признателен любой информации по теме. |
А что полигоны просто однотонные квадраты?:). Нужно ли тебе чтобы она была именно в векторах и зачем?
Самый производительный вориант это рисовать все в битмап и все... Если нет то нужно использовать к каждому полигону который ты будеш рисовать в мувиклип cacheAsBitmap. А вообще давольно расплывчито все понятно и многое не ясно что нужно. Вот если ты полоностью бы описал задачи, и конктретно расипсал вопросы, то дали бы на много больше советов, и притом намного больше делньых советов. :) P.S Слоев нету... |
вот пример того что получается Карта амурской области из cdr файла
данная карта - это пример, содержит небольшую часть объектов от того, что должно быть в карте города, всего 633 объекта. Интересен сам принцип подхода к данной задаче, оптимизация. В настоящий момент при попытке отрисовать карту города получаем огромное время ожидания завершения отрисовки, не рабочий вариант |
Вообще здорово!
У меня такие цифры высветились (GPRS): Цитата:
1) xml грузиться долго 2) строиться относительно долго Первую проблему можно решить оптимизацией xml Вторую - не знаю, как реализовано построение. Откуда там 93 мувика? Какие расчеты при построении кривых? |
У меня 5 скунд построение было. Загрузка 34секунды 633 мувиклипа. Загрузка очень долгая. Отрисовка не особо долгая. Второй раз
Время загрузки xml: 1163 ms. Время отрисовки: 6044 ms. Всего MovieClip: 633 Либо это хост тупит. Либо ты очень сильно оптимизировал хмл за последние часы )). Но учитывая что это небольшая часть обьектов хотелось бы знать сколько их всего будет чтобы давать оценки какието. |
После переноса на нормальный хост и оптимизации xml получился приличный прирост скорости (в отдельных случаях в 5 и более раз).
Просмотр карт Но вопрос остался стоит ли далее идти по этому пути - векторной отрисовки карты? интересно мнение людей занимавшихся/ющихся картами во flash. Есть еще одно направление по данной теме - это перенос функции отрисовки карты с клиента flash на сервер в php с использованием php_ming.dll, а на клиенте оставить лишь подзагрузку динамически сгенеренного swf файла. Но тут тоже могут быть грабли - ming вроде как больше не поддерживается его производителями, и возможно в php 6.X просто не быть данного расширения. Что посоветуете? |
Флеш то карту нарисует без проблем. Другой вопрос какой размер карты будет конечный и на сколько на будет тормазить. Вот изходя из этого стоит думать о том чтобы рисовать все в битмап >_<
|
Во тоже пытаюсь сделать что-то подобное. Долго конечно это все грузится. seasergey, а можно исходник для изучения попросить? я новичок во flash
|
|
Гляньте в сторону SVG. У нас тут iv занимался рефакторингом парсера. Я думаю его возможностей с лихвой хватит для ваших нужд.
|
seasergey, спасибо большое :)
|
| Часовой пояс GMT +4, время: 23:13. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.