This is an old revision of the document!
−Table of Contents
GGmap - pluginy a jejich tvorba
Funkce GGmapy lze rozšiřovat pomocí pluginů o další možnosti. Může to být např.
- doplnění dalších map nebo překryvných vrstev
- změna vykreslovaných ikon
- úprava vzhledu
- doplnění filtrování
- a mnoho dalších funkcí, záleží jen na autorovi pluginu
Pluginy jsou v souborech *.ggm.js
a případně odpovídajících souborech (*.css
, soubory s obrázky, …). Vlastní plugin je napsán v javascriptu a aby bylo možné jej spravovat obvyklým způsobem jako ostatní pluginy do GeoGetu, je vhodné jej distribuovat v *.gip balíčku, který se postará o překopírování souborů do správných adresářů GeoGetu.
Správné umístění souborů pluginu po instalaci:
*.meta.ini
a*.ggi.pas
jsou v adresářiDATADIR\script\GgMap\
(toto není nutné pro funkci pluginu, je doporučené pro přehlednost a údržbu pluginů) o správné umístění souborů z instalačního balíčku by se měl postarat instalační script*.ggi.pas
*.ggm.js
a/nebo*.css
jsou v adresářiDATADIR\ggmap\plugin\
- všechny ostatní soubory, které plugin potřebuje , jsou v adresáři
DATADIR\ggmap\plugin\jméno_pluginu\
O přesun souborů do správných adresářů při instalaci pluginu a smazání nepotřebných souborů a adresářů při odinstalování pluginu se musí postarat instalační script *.ggi.pas
. (Je možné použí univerzální instalační script, viz níže.)
Inicializace pluginu
Základem správné funkce pluginu je jeho správná inicializace. O tu se stará funkce *_ggm_init()
, což je jediná povinná funkce. Ta by měla zejména zajistit inicializaci pluginu, nastavení obslužných funkcí událostí, doplnění položek menu a dalších činností potřebných pro správnou funkci pluginu. Inicializací se v tomto případě rozumí zejména doplnění volání funkcí pluginu v tu správnou chvíli, tedy při nějaké události. (Ve vyjímečných případech, kdy inicializace není potřeba, bude tato funkce prázdná, ale existovat musí!)
Aktuální seznam všech možných událostí je v souboru DATADIR\ggmap\plugin\README.txt
:
onload | inicializace UI |
pointname | překlad typu bodu na jméno ikony |
loadicons | změna nebo rozšíření sady ikon |
filterpoint | filtrování ikon keší-bodů (vrací “true” k ignorování bodu) |
filterwpt | filtrování ikon waypointů (vrací “true” k ignorování bodu) |
onmap | po ukončení inicializace mapových objektů |
onclear | vyčištění uživatelských dat vrstev před loadbbox |
loadbbox | zavedení uživatelských dat v rámci BBox |
pointhower | kurzor nad bodem (vrací “true” k ignorování standardní rutiny) |
pointclick | kliknutí na bod (vrací “true” k ignorování standardní rutiny) |
Pro správnou funkci pluginu je důležité, aby byla velikost písmen ve jménech souborů v adresáři DATADIR\ggmap\plugin
stejná jako velikost písmen funkce *_ggm_init()
.
Pokud plugin potřebuje ke správné činnosti svůj *.css
soubor, musí ve své *_ggm_init()
funkcí zajistit jeho načtení.
Instalační a odinstalační script *.ggi.pas
Instalační script je zodpovědný za přenos souborů pluginu do adresáře pluginů GgMapy a také za zmazání všech souborů pluginu (tedy i *.meta.ini
a *.ggi.pas
) při odinstalování pluginu.
Existuje univerzální instalační script, který se za při dodržení několika podmínek pro tvorbu balíčku a pojmenování souborů o vše postará a autor pluginu jej nemusí pracně tvořit a ladit.
Ke správné funkci univerzálního instalačního scriptu je třeba, aby obsah *.gip souboru měl strukturu:
- adresář GgMap
- soubor JmenoPluginu.meta.ini
- soubor JmenoPluginu.ggi.pas
- adresář JmenoPluginu
- soubor JmenoPluginu.ggm.js
- nepovinně soubor JmenoPluginu.css
- nepovinně adresář JmenoPluginu
- další soubory, které plugin využívá
Další požadavky:
- při kopírování instalačního scriptu je nutné změnit jeho jméno na
JmenoPluginu.ggi.pas
- soubor
JmenoPluginu.meta.ini
obsahuje položkuParent=ggmap_plugin
- soubor
JmenoPluginu.meta.ini
obsahuje spuštění instalačního scriptu, v sekci[install]
položkascript=Ggmap\JmenoPluginu.ggi.pas
- soubor
JmenoPluginu.meta.ini
obsahuje spuštění odinstalačního scriptu, v sekci[uninstall]
položkaGgmap\JmenoPluginu.ggi.pas=
(script je při instalaci přesunut o adresář výš)
Pokud budou výše uvedené požadavky splněny, pak instalační a odinstalační funkce v instalačním scriptu se postarají o vše potřebné.
Ukázky postupů v pluginu
Zde jsou uvedeny jednoduché ukázky základních operací.
Doplnění mapy do seznamu map
function cuzk_ggm_init() { ggmregister('onmap', cuzk_ggm_run); };
Funkce v tomto případě obsahuje jediný řádek, který registruje funkci cuzk_ggm_run
pro spuštění po inicializaci mapových objektů. (Tato konkrétní funkce zajistí doplnění jedné mapy a jedné překryvné vrstvy do menu map. Plugin cuzk
je součástí instalace mapy.)
Zavedení *.css souboru
*.css soubor je vždy v základním adresáři pluginů a má stejné jméno jako plugin.
function jmenoPluginu_ggm_init() { loadcss('plugin/jmenoPluginu.css'); }
Seznam dostupných pluginů pro GgMapu
Další mapy a/nebo překryvné vrstvy
Změna vzhledu částí mapy
Page | Date | Description | Tags |
---|---|---|---|
close search results | 2020/05/14 21:32 | close search results Umožní zavřít výsledek vyhledávání v GgMapě. Autor * vasam, <geo@vasam.cz> Automatická instalace Diskuze * Diskuze o tomto skri… | author vasam, ggmap style, ggmap |
Foldable | 2021/08/30 13:42 | Foldable Umožní skrytí ovládacích prvků mapy. Autor * vasam, <geo@vasam.cz> Automatická instalace Diskuze * Diskuze o tomto skriptu se nachází na st… | author vasam, ggmap style, ggmap |
Movable | 2021/08/30 13:42 | Movable Umožní libovolný přesun ovládacích prvků mapy. Autor * vasam, <geo@vasam.cz> Automatická instalace Diskuze * Diskuze o tomto skriptu se nach… | author vasam, ggmap style, ggmap |
Stylish | 2020/05/14 21:47 | Stylish Úprava vzhledu některých částí GgMapy. Autor * vasam, <geo@vasam.cz> Automatická instalace Diskuze * Diskuze o tomto skriptu se nachází na s… | author vasam, ggmap style, ggmap |
Filtrování bodů
Page | Date | Description | Tags |
---|---|---|---|
ExtendedFilters | 2020/08/07 11:03 | ExtendedFilters Rozšířené filtry do GgMapy umožňující filtrování podle typů bodů a jejich atributů. Autor * vasam, <geo@vasam.cz> Automatická instalace … | author vasam, ggmap filter, ggmap |
HideCaches | 2020/08/11 12:22 | HideCaches Umožní skrýt konkrétní keše v mapě (obdobně jako Ignore list na stránkách gc.com). Autor * vasam, <geo@vasam.cz> Automatická instalace Disku… | author vasam, ggmap filter, ggmap |
SimpleFilters | 2020/05/14 21:44 | SimpleFilters Jednoduché filtry do GgMapy umožňující skrýt waypointy a disablované keše. Autor * vasam, <geo@vasam.cz> Automatická instalace Diskuze … | author vasam, ggmap filter, ggmap |
Nové sady ikon bodů/keší
Page | Date | Description | Tags |
---|---|---|---|
IconSet | 2020/08/11 17:48 | IconSet Sada větších ikon inspirovanými ikonami z Keškomapy. Autor * vasam, <geo@vasam.cz> Automatická instalace Diskuze * Diskuze o tomto skriptu s… | author vasam, ggmap icon, ggmap |
Knihovny funkcí
Page | Date | Description | Tags |
---|---|---|---|
GgMapLib | 2020/08/09 19:19 | GgMapLib Knihovna funkcí pro podporu pluginů do GgMapy. Autor * vasam, <geo@vasam.cz> Automatická instalace Diskuze * Diskuze o tomto skriptu se nac… | author vasam, ggmap lib, ggmap |
Ostatní
Page | Date | Description | Tags |
---|---|---|---|
PlugsOff | 2020/08/05 12:49 | PlugsOff Plugin umožní dočasně přerušit fungování ostatních mapových pluginů. Autor * vasam, <geo@vasam.cz> Automatická instalace Diskuze * Diskuze … | author vasam, ggmap other, ggmap |