Část druhá: Soubory wlx s definicí webového odkazuKaždý webový odkaz je definován v samostatném souboru typu XML, který má příponu wlx. Schéma XML je velmi jednoduché a přehledné, přesto je nekompromisní, pokud uděláte překlep nebo uvedete neplatnou hodnotu. Soubory wlx s webovými odkazy pro MapSource jsou umístěny ve složce:
C:\Documents and Settings\<UŽIVATEL>\Data aplikací\GARMIN\Web Link Extensions\Poznámka: Složka
Data aplikací je implicitně nastavena jako skrytá!
V této složce jsou dva soubory
googlemaps.wlx a
geocaching.wlx. V Poznámkovém bloku nebo jiném textovém editoru si otevřete soubor
googlemaps.wlx. Kompletní obsah souboru
googlemaps.wlx vypadá takto:
- Code: Vybrat vše
<?xml version="1.0" encoding="UTF-8"?>
<weblink xmlns="http://www.garmin.com/xmlschemas/WebLinkExtensions/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/WebLinkExtensions/v1
http://www.garmin.com/xmlschemas/WebLinkExtensions/v1/WebLinkExtensionsv1.xsd">
<displayName>
<token xsi:type="LocalizedLiteral_t">
<content language="ENU" string="View Satellite Imagery on maps.google.com"/>
<content language="CHS" string="在 maps.google.com 上查看卫星图像"/>
<content language="CHT" string="檢視 maps.google.com 上的衛星影像"/>
<content language="CSY" string="Zobrazit satelitní snímky na webových stránkách maps.google.com"/>
<content language="DAN" string="Få vist satellitbilleder på maps.google.com"/>
<content language="DEU" string="Satellitenbilder unter maps.google.de anzeigen"/>
<content language="ELL" string="Προβολή εικόνων δορυφόρου στην τοποθεσία maps.google.com"/>
<content language="ESP" string="Ver imágenes por satélite en maps.google.com"/>
<content language="FIN" string="Katsele satelliittikuvia osoitteessa maps.google.com"/>
<content language="FRA" string="Accéder aux images satellite sur maps.google.com"/>
<content language="HRV" string="Pregledajte satelitske slike na web-stranici maps.google.com"/>
<content language="HUN" string="Műholdképek megtekintése a maps.google.com webhelyen"/>
<content language="ITA" string="Visualizza immagini satellitari su maps.google.com"/>
<content language="JPN" string="maps.google.comで衛星画像を表示"/>
<content language="KOR" string="maps.google.com에서 위성 이미지 보기"/>
<content language="NLD" string="Satellietbeelden weergeven van maps.google.com"/>
<content language="NOR" string="Vis satellittbilder på maps.google.com"/>
<content language="PLK" string="Przeglądaj mapy satelitarne na stronie maps.google.com"/>
<content language="PTG" string="Ver Imagens de Satélite em maps.google.com"/>
<content language="RUS" string="Просмотр спутниковых снимков на maps.google.com"/>
<content language="SKY" string="Zobraziť satelitný pohľad na lokalite maps.google.com"/>
<content language="SLV" string="Ogled satelitskih posnetkov na maps.google.com"/>
<content language="SVE" string="Visa satellitbilder på maps.google.com"/>
<content language="TRK" string="maps.google.com'da Uydu Görüntülerini Görüntüleme"/>
</token>
</displayName>
<wlxNamespace>www.garmin.com/xmlschemas/WebLinkExtensions/maps.google.com</wlxNamespace>
<version>2</version>
<supportedLanguages>
<supportedLanguage>CHS</supportedLanguage>
<supportedLanguage>CHT</supportedLanguage>
<supportedLanguage>CSY</supportedLanguage>
<supportedLanguage>DAN</supportedLanguage>
<supportedLanguage>DEU</supportedLanguage>
<supportedLanguage>ELL</supportedLanguage>
<supportedLanguage>ENU</supportedLanguage>
<supportedLanguage>ESP</supportedLanguage>
<supportedLanguage>FIN</supportedLanguage>
<supportedLanguage>FRA</supportedLanguage>
<supportedLanguage>HRV</supportedLanguage>
<supportedLanguage>HUN</supportedLanguage>
<supportedLanguage>ITA</supportedLanguage>
<supportedLanguage>JPN</supportedLanguage>
<supportedLanguage>KOR</supportedLanguage>
<supportedLanguage>NLD</supportedLanguage>
<supportedLanguage>NOR</supportedLanguage>
<supportedLanguage>PLK</supportedLanguage>
<supportedLanguage>PTG</supportedLanguage>
<supportedLanguage>RUS</supportedLanguage>
<supportedLanguage>SKY</supportedLanguage>
<supportedLanguage>SLV</supportedLanguage>
<supportedLanguage>SVE</supportedLanguage>
<supportedLanguage>TRK</supportedLanguage>
</supportedLanguages>
<url>
<token xsi:type="LocalizedLiteral_t">
<content string="http://maps.google.com/maps?ll=" language="ENU"/>
<content string="http://maps.google.com/maps?ll=" language="CSY"/>
</token>
<token xsi:type="Value_t" format="LAT_DEFAULT"/>
<token xsi:type="Literal_t" content=","/>
<token xsi:type="Value_t" format="LON_DEFAULT"/>
<token xsi:type="Literal_t" content="&spn=0.02,0.02&t=k"/>
</url>
</weblink>
Jednotlivé elementy XML si teď popíšeme.
Hlavička souboruHlavička je u všech souborů wlx vždy stejná. Pokud budete tvořit vlastní soubor, nechte ji tak jak je:
- Code: Vybrat vše
<?xml version="1.0" encoding="UTF-8"?>
<weblink xmlns="http://www.garmin.com/xmlschemas/WebLinkExtensions/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/WebLinkExtensions/v1
http://www.garmin.com/xmlschemas/WebLinkExtensions/v1/WebLinkExtensionsv1.xsd">
Poznámka: Na konci souboru se musí element <weblink> uzavřít, takže na úplný závěr bude samozřejmě uvedeno </weblink>
Element <displayName>Element <displayName> je v tomto případě značně zjednodušený. V této sekci je definován název webového odkazu, který je zobrazen v kontextovém menu MapSource.
V příslušné sekci
<token xsi:type="LocalizedLiteral_t"> lze definovat název webového odkazu pro každý jednotlivý jazyk zvlášť. Pokud není některý z jazyků uveden, bude jako výchozí nastaven jazyk anglický, tedy ENU. ENU by mělo být uvedeno vždy.
V
googlemaps.wlx můžete vidět překlad pro 24 jazykových mutací:
- Code: Vybrat vše
<displayName>
<token xsi:type="LocalizedLiteral_t">
<content language="ENU" string="View Satellite Imagery on maps.google.com"/>
<content language="CHS" string="在 maps.google.com 上查看卫星图像"/>
<content language="CHT" string="檢視 maps.google.com 上的衛星影像"/>
<content language="CSY" string="Zobrazit satelitní snímky na webových stránkách maps.google.com"/>
<content language="DAN" string="Få vist satellitbilleder på maps.google.com"/>
<content language="DEU" string="Satellitenbilder unter maps.google.de anzeigen"/>
<content language="ELL" string="Προβολή εικόνων δορυφόρου στην τοποθεσία maps.google.com"/>
<content language="ESP" string="Ver imágenes por satélite en maps.google.com"/>
<content language="FIN" string="Katsele satelliittikuvia osoitteessa maps.google.com"/>
<content language="FRA" string="Accéder aux images satellite sur maps.google.com"/>
<content language="HRV" string="Pregledajte satelitske slike na web-stranici maps.google.com"/>
<content language="HUN" string="Műholdképek megtekintése a maps.google.com webhelyen"/>
<content language="ITA" string="Visualizza immagini satellitari su maps.google.com"/>
<content language="JPN" string="maps.google.comで衛星画像を表示"/>
<content language="KOR" string="maps.google.com에서 위성 이미지 보기"/>
<content language="NLD" string="Satellietbeelden weergeven van maps.google.com"/>
<content language="NOR" string="Vis satellittbilder på maps.google.com"/>
<content language="PLK" string="Przeglądaj mapy satelitarne na stronie maps.google.com"/>
<content language="PTG" string="Ver Imagens de Satélite em maps.google.com"/>
<content language="RUS" string="Просмотр спутниковых снимков на maps.google.com"/>
<content language="SKY" string="Zobraziť satelitný pohľad na lokalite maps.google.com"/>
<content language="SLV" string="Ogled satelitskih posnetkov na maps.google.com"/>
<content language="SVE" string="Visa satellitbilder på maps.google.com"/>
<content language="TRK" string="maps.google.com'da Uydu Görüntülerini Görüntüleme"/>
</token>
</displayName>
Element <wlxNamespace> a <version>V tomto elementu je odkaz na vlastní schéma a definici XML souboru pro konkrétní web. Pokud element <wlxNamespace> v souboru wlx chybí, nebude webový odkaz v MapSource zobrazen.
- Code: Vybrat vše
<wlxNamespace>www.garmin.com/xmlschemas/WebLinkExtensions/ maps.google.com</wlxNamespace>
<version>2</version>
Při tvorbě vlastního odkazu určitě nebude nikdo odkazovat na externí definici, takže bude bohatě stačit uvést pouze samotný element bez obsahu:
- Code: Vybrat vše
<wlxNamespace></wlxNamespace>
<version>2</version>
Element <supportedLanguages>Tento element je jedním z povinných a definuje lokalizace, pro které bude webový odkaz zobrazen. Pokud například neuvedete jazyk CSY, pak v českém prostředí MapSource tento odkaz nezobrazíte. Následující definice je tedy správná a pokud budete definovat vlastní odkaz, ponechte tuto sekci beze změn:
- Code: Vybrat vše
<supportedLanguages>
<supportedLanguage>CHS</supportedLanguage>
<supportedLanguage>CHT</supportedLanguage>
<supportedLanguage>CSY</supportedLanguage>
<supportedLanguage>DAN</supportedLanguage>
<supportedLanguage>DEU</supportedLanguage>
<supportedLanguage>ELL</supportedLanguage>
<supportedLanguage>ENU</supportedLanguage>
<supportedLanguage>ESP</supportedLanguage>
<supportedLanguage>FIN</supportedLanguage>
<supportedLanguage>FRA</supportedLanguage>
<supportedLanguage>HRV</supportedLanguage>
<supportedLanguage>HUN</supportedLanguage>
<supportedLanguage>ITA</supportedLanguage>
<supportedLanguage>JPN</supportedLanguage>
<supportedLanguage>KOR</supportedLanguage>
<supportedLanguage>NLD</supportedLanguage>
<supportedLanguage>NOR</supportedLanguage>
<supportedLanguage>PLK</supportedLanguage>
<supportedLanguage>PTG</supportedLanguage>
<supportedLanguage>RUS</supportedLanguage>
<supportedLanguage>SKY</supportedLanguage>
<supportedLanguage>SLV</supportedLanguage>
<supportedLanguage>SVE</supportedLanguage>
<supportedLanguage>TRK</supportedLanguage>
</supportedLanguages>
Element <url>Element <url> je to, co nás nejvíce zajímá. V této sekci se definuje výsledná URL adresa. URL se bude skládat řádek po řádku.
- Code: Vybrat vše
<url>
<token xsi:type="LocalizedLiteral_t">
<content string="http://maps.google.com/maps?ll=" language="ENU"/>
<content string="http://maps.google.de/maps?ll=" language="DEU"/>
</token>
<token xsi:type="Value_t" format="LAT_DEFAULT"/>
<token xsi:type="Literal_t" content=","/>
<token xsi:type="Value_t" format="LON_DEFAULT"/>
<token xsi:type="Literal_t" content="&spn=0.02,0.02&t=k"/>
</url>
Zápis s typem
LocalizedLiteral_t se využívá pro vrácení řetězce konkrétní lokalizace. Bude-li MapSource lokalizován do němčiny (DEU), bude vrácen řetězec "
http://maps.google.de/maps?ll=". Později si ukážeme jak Google Map lokalizovat efektivněji. Protože máme české prostředí, které zde není definováno, vrácený řetězec bude obsahovat:
- Code: Vybrat vše
http://maps.google.com/maps?ll=
Na dalším řádku je první předání parametru ve formátu
LAT_DEFAULT. Formát
LAT_DEFAULT vrátí latitude, resp. severní šířku v desettiném tvaru:
- Code: Vybrat vše
<token xsi:type="Value_t" format="LAT_DEFAULT"/>
Zápis na dalším řádku vrací pouze řetězec, v tomto případě čárku.
- Code: Vybrat vše
<token xsi:type="Literal_t" content=","/>
Zbývají poslední dva řádky, kde
Value_t přidá nakonec řetezce URL adresy východní délku v desetinném tvaru a
Literal_t přidá za východní délku řetězec
&spn=0.02,0.02&t=k- Code: Vybrat vše
<token xsi:type="Value_t" format="LON_DEFAULT"/>
<token xsi:type="Literal_t" content="&spn=0.02,0.02&t=k"/>
Výsledná URL adresa, která je definována v souboru
googlemaps.wlx, bude vypadat nějak takto:
- Code: Vybrat vše
http://maps.google.com/maps?ll=50.0399,14.5411&spn=0.02,0.02&t=k
V následujícím příspěvku zkusíme vytvořit vlastní definici webového odkazu.