Marushka Bloguje
Stránky jsou určeny článkům a vašim reakcím. Pokud chcete psát komentáře k článkům, prosím zaregistrujte se.Volaní HTML klienta metodou POST/GET
Mapového klienta můžeme volat z externí webové stránky, popřípadě z externí aplikace přes HTTP rozhraní metodou POST/GET. Tedy například pomocí HTML formuláře v HTML stránce nebo v příkazové řádce prohlížeče (respektive pomocí TAGU <A href=““>). Pokud použijeme metodu GET, tak musíme pamatovat na to, že maximální délka řetězce je omezena na cca 2000 znaků.
Layout a Definice rozložení klienta.
Parametry ve volání můžeme potlačit použití komponent, které jsou povoleny v konfiguraci klienta. Tj. v definici téma sekce LayOut (Definice rozložení HTML klienta), pokud je např. parametr LayOutVicinity (Zobrazit přehledovou mapu) nastaven na false, není možné přehledovou mapu zapnout zvenčí, ale pokud je povolen, můžeme jej hodnotou false zakázat.

Editor témat, sekce LayOut nastavení HTML klienta.
Jména parametrů použitelných pro volaní jsou většinou shodná se jmény proměnných v nastavení LayOut, pouze obsahují místo předpony LayOut předponu Mar. Například parametr pro zakázání přehledové mapy je MarVicinity, v editoru témat se jmenuje LayOutVicinity.
|
Parametr volání |
Proměnná tématu |
Popis |
Hodnoty |
|
MarApplication |
LayOutApplication
|
Zobrazit tlačítko Aplikace. |
true/false |
|
MarGeometryQuery
|
LayOutGeometryQuery
|
Zobrazit tlačítko geomterické dotazy. |
true/false |
|
MarGPS
|
LayOutGPS
|
Zobrazit tlačítko GPS. |
true/false |
|
MarHTMLFoot
|
LayOutHTMLFoot
|
Jméno souboru HTML patky.
|
Soubory umístěné v adresáři HTML, Např. |
|
MarHTMLHead
|
LayOutHTMLHead
|
Jméno souboru HTML hlavičky. |
Soubory umístěné v adresáři HTML, Např. |
|
MarMeasurement
|
LayOutMeasurement
|
Zobrazit tlačítko Měření. |
true/false |
|
MarMenu
|
LayOutMenu
|
Zobrazit menu. |
true/false |
|
MarPanelExpand
|
LayOutPanelExpand
|
Maximalizovat panel záložek. |
true/false |
|
MarPanelFind
|
LayOutPanelFind
|
Zobrazit záloku hledat.
|
true/false |
|
MarPanelIndex
|
LayOutPanelIndex
|
Index aktuální záložky. |
[0,1,2,3,4] |
|
MarPanelInfo
|
LayOutPanelInfo
|
Zobrazit záložku informace. |
true/false |
|
MarPanelLayers
|
LayOutPanelLayers
|
Zobrazit záložku vrstvy. |
true/false |
|
MarPanelLegend
|
LayOutPanelLegend
|
Zobrazit záložku legenda. |
true/false |
|
MarPanelPrint
|
LayOutPanelPrint
|
Zobrazit záložku tisk. |
true/false |
|
MarPolygon
|
LayOutPolygon
|
Zobrazit tlačítko výber polygonem. |
true/false |
|
MarPreselect
|
LayOutPreselect
|
Zobrazit Info nastroj (funkce klikni do mapy -> vyber ze seznamu prvek-> zobraz informace) |
true/false |
|
MarScalebar |
LayOutScalebar |
Zobrazit posuvník měřítka. |
true/false |
|
MarTheme
|
LayOutTheme
|
Zobrazit nabídku témat. |
true/false |
|
MarTools
|
LayOutTools
|
Zobrazit nabídku nástrojů. |
true/false |
|
MarVicinity
|
LayOutVicinity
|
Zobrazit přehledovou mapu. |
true/false |
|
MarWheel
|
LayOutWheel
|
Zoom pomocí kolečka myši. |
true/false |
|
MarKN |
LayOutKN |
Zobraz tlačítko nahlížení do KN |
true/false |
Parametry, které nejsou definovány v tématu.
Následující parametry nejsou definovány v tématu, nicméně ovlivňují rozložení klienta.
|
Parametr volání |
Popis |
Hodnoty |
|
MarHideVIPQuery |
Vypne zobrazení populárního dotazu. |
true/false |
Vrstvy, info vrstvy a extent, téma.
Parametry, pro zapnutí/vypnutí vrstev a info vrstev a posun klienta na jiné území.
|
Parametr volání |
Popis |
Hodnoty |
|
ThemeID |
ID tématu. |
[0 .. n] |
|
MarExtent |
Parametr definuje startovací omezující obdélník HTML klienta. Hodnoty jsou odděleny mezerami (respektive %20 protože by mely být URLEncoded). |
[xmin ymin xmax ymax] |
|
MarUid |
Seznam vrstev, které mají být po zavolání zapnuté. Vrstvy se identifikují globálním ID publikační vrstvy. Jednotlivé hodnoty jsou odděleny mezerami. |
[GID1 GID2 GID3 …] |
|
MarUidi |
Seznam info vrstev, které mají být po zavolání zapnuté. Vrstvy se identifikují globálním ID publikační vrstvy. Jednotlivé hodnoty jsou odděleny mezerami. |
[GID1 GID2 GID3 …] |

Globální ID Publikační v vrstvy v editoru Publikačních vrstev.
Autorizace
HTML klient lze volat, pokud je i zapnutá autorizace, tento postup je potřeba opravdu zvážit protože jméno a heslo je součásti dotazu nekryptované.
|
Parametr volání |
Popis |
Hodnoty |
|
UserName |
Uživatelské jméno uživatele |
string |
|
Password |
heslo |
string |
Dotazy, lokalizace.
HTML klienta lze volat i tak, že při prvním vykreslení mapy vyhodnotí lokalizační dotaz a posune startovací omezující obdélník do výsledku lokalizace. Pokud výsledek obsahuje prvky pro zvýraznění, tak je zvýrazní.
|
Parametr volání |
Popis |
Hodnoty |
|
MarQueryID |
Unikátní ID dotazu položka GId ve vlastnostech dotazu. |
GID |
|
MarQParamCount |
Počet parametrů lokalizačního dotazu. |
[0 .. n] |
|
MarQParamX |
Hodnota parametru dotazu s indexem X. Indexuje se od 0. Hodnotu zapisujeme URLEncoded |
string |
Příklad volání klienta s lokalizací
V tématu s id=1 máme nadefinovaný lokalizační dotaz „Lokalizace č.p./č.e. podle ulice“. Tento dotaz obsahuje tri parametry (hodnota vlastnosti QueryParams= Obec;Ulice;č.p./č.e.). Tento dotaz má vlastnost GId= 296B89E1. Klienta následně voláme s následujícími parametry:
ThemeID=1
MarQueryID = 296B89E1
MarQParamCount =3
MarQParam0= Zlín
MarQParam1= A. Randýskové
MarQParam2= 1679 P Zlín
Parametry obsahuji české znaky, proto je zakódujeme pomocí kódování URLEncoded UTF-8.
ThemeID=1
MarQueryID=296B89E1
MarQParamCount=3
MarQParam0=Zl%C3%ADn
MarQParam1=A.%20Rand%C3%BDskov%C3%A9
MarQParam2=1679%20P%20Zl%C3%ADn
Výsledný dotaz na server metodou GET vypadá následovně:
http://adresaserveru/Marushka/default.aspx?ThemeID=1&MarQueryID=296B89E1&MarQParamCount=3&MarQParam0=Zl%C3%ADn&MarQParam1=A.%20Rand%C3%BDskov%C3%A9&MarQParam2=1679%20P%20Zl%C3%ADn
Pokud budeme používat HTML formulář a volání metodou POST kódování se provede automaticky.
.Net aplikace
Pokud voláme klienta z .Net aplikace můžeme klientovi poslat kompletní Formální vrstvu (objekt FormLayer z namespace GeSto.Engine) a to serializovanou do XML a šifrovanou 32bit klíčem.
Pro vytvoření řetězce budeme potřebovat v projektu referenci na GSFrameWork.dll a ExternalServerFunction.dll, dále vygenerovaný klíč „ContextKey“, který je shodný s klíčem definovaným v nastavení Marushka serveru a to konkrétně v souboru „web.config“.
<!-- Context key-->
<add key ="ContextKey" value="HewSErTSHsXs="/>
Z instance objektu FormLayer dostaneme požadovaný řetězec pomocí následující metody:
public static string CreateFormLayerString(FormLayer fLayer,string contextKey)
{
string result = string.Empty;
try
{
result = NameConvertor.Encrypt(contextKey, FormLayer.XMLStringFromFormLayer(fLayer));
}
catch
{
}
return result;
}
Výsledný řetězec pak posíláme v parametru LocalizeName, dále pak musíme poslat korespondující globální id datového skladu tedy parametr LocalizeId.
Nový ContextKey vygenerujeme pomoci aplikace MarushkaKeyGenerator.
|
Parametr volání |
Popis |
Hodnoty |
|
MarLocalizeName |
Šifrovaná a serializovaná instance objektu FormLayer |
string |
|
MarLocalizeDsid |
Globalní ID Datového skladu. (Vlastnost GId) |
string |
Speciální módy klienta.
GetFence mode
Klienta můžeme zavolat ve speciálním modu GetFence, který slouží k zadání polygonu (ohrady). Po zavolání se klient přepne do módu „zadávaní ohrady“ a pokud uživatel úspěšně dokončí (zadá) ohradu/polygon, tak klient vrátí souřadnice na specifikovanou URL. Vracené souřadnice ohrady/polygonu jsou souřadnicovém systému S-JTSK a v milimetrech.
|
Parametr volání |
Popis |
Hodnoty |
|
action |
Typ akce |
getfence |
|
returnFenceURL |
URL stránky pro zpracování |
string |
Request:
http://localhost:4361/WebServer/default.aspx?action=getfence&returnFenceURL=zpracuj.aspx
Response:
http://localhost:4361/WebServer/zpracuj.aspx?fenceX=-523487871 -519173780 -519576966 -522469826&fenceY=-1165647451 -1164125423 -1166605018 -522469826
Zpět na seznam článků




