Notes |
|
(0001000)
|
feya
|
15-02-2011 07:23
|
|
Больно специализированная задача, помоему |
|
|
(0001001)
|
Fetser
|
15-02-2011 07:51
|
|
Если это возможно сделать, то было бы очень хорошо. А назначение может быть разное. Не только выведение шкалы, но и любой поясняющей или справочной информации. Условные обозначения применяемые на карте и т. д. |
|
|
|
По сути это возможность приципить "легенду" к карте. Можно подмуать, как это удобно и универсально реализовать. |
|
|
(0001011)
|
feya
|
16-02-2011 18:13
|
|
А что, если информацию о карте показывать во встроенном браузере а не в текстовом меседже (как я давно хотел сделать), тогда можно будет легенду там отображать. |
|
|
|
А как\откуда планируется брать легенду, если она не идет в составе конкретной карты на том же листе? Вот например гугль\ландшафт - тоже "кодирован условными цветами", а как легенду к нему сделать? |
|
|
(0001030)
|
Fetser
|
20-02-2011 10:23
|
|
При создании собственных карт (из графического файла) обычно легенда есть внизу под картой. И совсем не трудно легенду вырезать в графическом редакторе. И на многих интернет ресурсах есть также легенда в виде отдельного графического файла, и скопировать один раз совсем не трудно. Главное чтобы была возможность прицепить в программе к конкретной карте или слою эту легенду. |
|
|
(0001032)
|
gpsMax
|
20-02-2011 16:06
|
|
Можно добавить к легенде, кроме графического файла, еще и текст - свой, произвольный, изменяемый локально. |
|
|
|
>прицепить в программе к конкретной карте или слою эту легенду
Для генштаба для разных участков разная легенда (например, магнитное склонение, да и просто заголовок карты). |
|
|
|
>Для генштаба для разных участков разная легенда
Увы нельзя объять необъятное. |
|
|
(0001071)
|
Fetser
|
23-02-2011 15:15
|
|
>Для генштаба для разных участков разная легенда (например, магнитное склонение, да и просто заголовок карты).
Если у разных участков разные названия и разная легенда, то логично эти участки поместить на разные слои. При выборе нужных слоёв вид у карты будет неразрывный. И если к каждому слою будет возможно прицепить легенду, то будет возможность посмотреть легенду любого участка. |
|
|
|
>логично эти участки поместить на разные слои
шутите? попробуйте оценить количество требуемых слоёв, скажем, для России. |
|
|
(0001185)
|
Fetser
|
12-03-2011 12:03
|
|
Большое спасибо очень скромным авторам программы. Выполнили хотелку о возможности создания легенды для карты или слоя и ни слова об это не упомянули. Теперь возможно поместить графический файл в информацию о карте или слое. Не очень пока удобно это делать. Но тем не менее это стало возможно. В файле info.txt если написать примерно следующее
"<img src="c:\Program Files\SASPlanet\Maps\sas.maps\Population_density.zmp\Scale.png"/>"
то графический файл появляется при нажатии на информацию о слое. Ура! |
|
|
|
Если zmp будет запакован, то ничего не выйдет. Поэтому пока и не закрыта эта хотелка. Да и вообще абсолютный путь это моветон. |
|
|
(0001506)
|
Tolik
|
06-04-2011 06:41
|
|
Пока не работают относительные пути, пока делаю ссылки на картинку с легендой на внешнем сайте. Например, Генплан Москвы:
<img src="http://genplan.yabloko.ru/map_tiles/446-530/legend.gif"/img>
Пытался добавить переменную окружения, типа <img src="%SAS%\Maps... - не работает. MSIE эту переменную %SAS% не заменяет на его значение.
Какие ещё есть идеи? |
|
|
(0001517)
|
gpsMax
|
06-04-2011 10:46
(edited on: 06-04-2011 10:49) |
|
Есть идея не привязываться к интернет-адресам, иначе при автономном использовании будет нюанс.
|
|
|
(0001518)
|
gpsMax
|
06-04-2011 10:48
|
|
> MSIE эту переменную %SAS% не заменяет на его значение.
Разумеется! Переменные окружения работают _только_ в командной строке и нигде более. |
|
|
(0001519)
|
Tolik
|
06-04-2011 11:05
|
|
Я ж и говорю, "Пока" нет другого хорошего варианта.
А как запускается окно информации о карте?
Может быть, при запуске ему можно передавать параметр - путь к директории .zmp (или хотя бы к программе)? |
|
|
|
Каждый желающий может сам поэкспериментировать. Берете Делфи. Ставите компонент EmbeddedWB. Кидаете его на пустую форму. На ту же форму кидаете кнопку с таким кодом:
EmbeddedWB1.HTMLCode.Text:='...';
Только вместо многоточия ваш html код.
И придумываете как заставить отображать рисунки, которые есть только в памяти, а не на диске (не забываем о зазипованных zmp) |
|
|
(0001530)
|
Tolik
|
06-04-2011 13:04
|
|
Давайте сначала решим задачу-минимум: для незипованных zmp. |
|
|
|
Ну отказываться от зиповных zmp я не собираюсь, поэтому их поддержка обязательное условие. |
|
|
(0001533)
|
Tolik
|
06-04-2011 13:07
|
|
Тогда придётся в SAS ещё встроить web-сервер, а ссылки делать на localhost :) |
|
|
|
Ну если никто не придумает ничего лучшего чем встроенный веб-сервер, то решение этой хотелки уедет на 2015 год. |
|
|
(0001536)
|
Tolik
|
06-04-2011 13:37
|
|
добавить кнопку легенда и выводить legend.gif |
|
|
|
|
|
(0001538)
|
Tolik
|
06-04-2011 13:41
|
|
|
|
(0001544)
|
Tolik
|
06-04-2011 15:58
|
|
Прошу прощения за излишнюю лаконичность, писал с телефона, сидя за рулём.
Теперь подробно.
В меню Вид добавляем пункт "Легенда", по умолчанию чекбокс включен.
Если включена "Легенда" и в zmp активной карты есть файл legend.(gif|png|bmp|jpg), то в углу экрана выводится этот файл (наподобие Карты обзора).
Если в zmp карты такого файла нет, проверяется zmp 1-го активного слоя. Если и в нём нет - 2-го и т.д.
То есть отображается только одна легенда, больше одной встретятся крайне редко, да и не надо. |
|
|
(0001553)
|
gpsMax
|
06-04-2011 18:38
|
|
Если основная проблема только в том, чтобы отображать картинку из памяти, для зазипованных zmp, то почему бы не сделать так, что она будет читаться только с диска? То есть, если zmp сжатый, всё работает, как раньше, а если разжатый - появляется ещё и картинка. |
|
|
(0001556)
|
Tolik
|
06-04-2011 18:55
|
|
vdemidov уже отказался от такого варианта. И правильно.
С диска читать тоже проблема: абсолютный путь не годится, как засунуть в info.txt относительный - не придумали. Так давайте забудем про info.txt и сделаем ещё лучше - специальное окно легенды. |
|
|
|
ИМХО все таки лучше, если бы придумали как скормить браузеру картинку из памяти. Компонент есть. Как он используется я описал. Если кто-то придумает сделаю. А городить огород с отдельной картинкой, еще и как-то ее рисовать на экране, мне раньше 2013 года вряд ли захочется. |
|
|
(0003153)
|
Tolik
|
14-07-2011 05:00
|
|
Т.к. хотелка 771 решена, то и эту можно считать решённой.
Чтобы создать легенду, надо просто положить в zmp файл с картинкой и в info.txt прописать:
<img src="image.jpg"> |
|