Как сделать изображение с картой с помощью JSF / Richfaces? - PullRequest
1 голос
/ 19 марта 2009

Я хочу выполнить следующую задачу, используя JSF / Richfaces

При нажатии на ссылку - я хотел бы создать изображение в формате PNG с картой (часть изображения должна быть доступна для щелчка мышью) и визуализировать под панелью.

Когда я генерирую изображение, я знаю координаты изображения, которые должны быть доступны при нажатии. Так что я могу создать карту. Но я хочу сделать это под одним файлом XHTML. Может разбогатеть: тег paint2d принимает карту как -

<map name="mapGraph">
    <area coords="754,378 20" href="http://google.com" shape="Circle" alt="Drill Down">
    <area coords="33,439 20" href="http://google.com" shape="Circle" alt="Drill Down">
    <area coords="393,425 20" href="http://google.com" shape="Circle" alt="Drill Down">
    <area coords="573,378 20" href="http://google.com" shape="Circle" alt="Drill Down">
    <area coords="213,407 20" href="http://yahoo.com" shape="Circle" alt="Drill Down">
</map>

1 Ответ

1 голос
/ 11 апреля 2009

Не существует способа достижения этого по умолчанию. Единственный способ - разработать собственный компонент JSF. Я разработал свой собственный тег JSF, как <custom:image id = "im1" width="800px" height="400px" useMap="dwMap"/>. JSF engne, когда находит этот тег, отображает HTML-тег "img" с картой типа

<img  width="800" border="0" height="400" useMap="#dwMap" src="/imageB94DFA031CA999EE65ED586627F630BE.png"/>
<map name="dwMap"><area coords="735,225 20" shape="Circle" onMouseOver="call('735,225 20')" title="Start Time : 2009-02-16 15:32:48
End Time : 2009-02-16 15:34:59" /><area coords="570,225 20" shape="Circle" onMouseOver="call('570,225 20')" title="Start Time : 2009-02-16 15:32:27
End Time : 2009-02-16 15:32:39" /><area coords="405,237 20" shape="Circle" onMouseOver="call('405,237 20')" title="Start Time : 2009-02-16 15:14:41
End Time : 2009-02-16 15:16:58" /><area coords="241,215 20" shape="Circle" onMouseOver="call('241,215 20')" title="Start Time : 2009-02-16 15:13:50
End Time : 2009-02-16 15:14:00" /><area coords="76,181 20" shape="Circle" onMouseOver="call('76,181 20')" title="Start Time : 2009-02-13 17:57:31
End Time : 2009-02-13 17:58:18" /></map>

Хотя разработка одного пользовательского компонента в JSF кажется сложной, но это действительно легко. Можно следовать статье Ричарда Хайтауэра « JSF для неверующих », и разработка пользовательского компонента становится максимально простой.

...