Definice funkčnosti klienta
Obsah
Úvod
Mapový klient se skládá z několika rámců a jedním z těchto rámců musí být rámec typu panel. Obsah tohoto rámce je automatický vytvořen skriptem panel.php, který se řídí konfiguračním souborem panel_{název klienta}.inc, jenž je umístěn v adresáři tms/.admin/mapclient. Tento konfigurační soubor popisuje nástroje a funkce mapového klienta a zároveň vzhled rámce typu panel.
Popis parametrů
Konfigurační soubor obsahuje pole PANEL_OBJECT, kde každý prvek popisuje funkci, nástroj nebo nějaký grafický prvek (text, obrázek, část HTML kódu). Rozdíl mezi funkcí a nástrojem je v tom, že nástroj přiřazuje kliknutí nebo táhnutí myší v mapě určitý význam, kdežto při kliknutí myší na tlačitko nějaké funkce se daná funkce okamžitě provede.
Objekt z panelu může mít tyto vlastnosti:
-
layout - určuje, jak se má prvek zobrazit
-
name - název prvku (pomocí názvu se může prvek zapínat a vypínat)
-
tool - určuje, zda se prvek má chovat jako nástroj
-
active - pokud se jedná o nástroj, tak parametr active určuje, který nástroj je na začátku aktivní
-
image - název obrázku prvku pro danou funkci nebo nástroj
-
image_off - pokud se jedná o nástroj, tak tento obrázek je použit, když je nástroj neaktivní
-
alt - popis prvku
-
function - název javascriptové funkce, která je spuštěna po kliknutí (u nástroje se provede změna aktivního nástroje pomocí funkce ChangeState(název_nástroje))
Vlastnost layout může nabývat těchto hodnot:
-
panel - prvek se zobrazí v panelu
-
hidden - prvek se nezobrazí, ale jsou nastaveny potřebné vlastnosti pro funkčnost tohoto prvku
-
object - prvek se zobrazí na libovolném místě pomocí dynamického polohování
Pro tento layout jsou použity další vlastnosti:
-
left - vzdálenost prvku od levého okraje okna
-
top - vzdálenost prvku od horního okraje okna
-
array - obsahuje pole objektů, které jsou zobrazeny pohromadě (vzdálenost jednotlivých prvků od sebe je určena parametry rel_left a rel_top)
-
rel_left - x-ová vzdálenost prvku od předchozího prvku (pokud není u prvku tato vlastnost nastavena, tak je použita hodnota rodičovského prvku)
-
rel_top - y-ová vzdálenost prvku od předchozího prvku (pokud není u prvku tato vlastnost nastavena, tak je použita hodnota rodičovského prvku)
Základní funkčnost
Vlastnost name v sobě skrývá i základní funkčnost klienta, uvedeme si zde většinu funkcí, které jsou už pro mapového klienta implementovány.
Nástroje:
-
pan - nástroj pro posun v mapě
-
zoomIn - nástroj pro přiblížení mapy
-
zoomOut - nástroj pro oddálení mapy
-
info - nástroj pro získání popisných informací o mapovém prvku
-
hotlink - nástroj pro napojení mapového prvku na externí stránky, databázové agendy, informační systémy
-
edit - nástroj pro přidávání bodových prvků
-
xycreator - nástroj pro přidávání odkazu do mapy přes souřadnice x a y
Funkce:
-
db - funkce pro spuštění části klienta pro vyhledávání
-
mapscale - vypíná a zapína měřítko v mapě
-
legend - zobrazení legendy k mapě
-
select_cleaner - funkce pro mazání šipek aktuálního výběru
-
benchmark - pro účely testování výkonu klienta a serveru
Speciální objekty:
-
search_field - prvek pro vyhledávání v databázi
-
tool - pole nástrojů
-
zoom_bar - pole různých úrovní měřítka mapy
-
layer_bar - pole pro zapínání a vypínání vrstev mapy
-
function - pole funkcí
Příklady nastavení
<?
$PANEL_OBJECT[] = array(
"layout"=>"panel",
"name"=>"zoomOut",
"tool"=>true,
"image"=>"zoom_out",
"image_off"=>"zoom_out2",
"alt"=>$RESOURCE_STRING["button_zoomOut"],
"function"=>"ChangeState('zoomOut')"
);
$PANEL_OBJECT[] = array(
"layout"=>"panel",
"name"=>"pan",
"tool"=>true,
"image"=>"pan",
"image_off"=>"pan2",
"alt"=>$RESOURCE_STRING["button_pan"],
"function"=>"ChangeState('pan')"
);
?>
Příklad definice prvků panelu pro klienta all.
Příklad definice prvků panelu pro klienta map.