Funkce GGmapy lze rozšiřovat pomocí pluginů o další možnosti. Může to být např.
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áři DATADIR\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áři DATADIR\ggmap\plugin\
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.)
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í, viz ukázka níže.
Instalační script je zodpovědný za přenos souborů pluginu do adresáře pluginů GgMapy a také za smazání všech souborů pluginu (tedy i *.meta.ini
a *.ggi.pas
) při odinstalování pluginu.
Existuje univerzální instalační script (2.65 KiB, 8M ago, 27 downloads), 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:
JmenoPluginu.meta.ini
JmenoPluginu.ggi.pas
JmenoPluginu.ggm.js
JmenoPluginu.css
Další požadavky:
JmenoPluginu.ggi.pas
JmenoPluginu.meta.ini
obsahuje položku Parent=ggmap_plugin
JmenoPluginu.meta.ini
obsahuje spuštění instalačního scriptu, v sekci [install]
položka script=Ggmap\JmenoPluginu.ggi.pas
JmenoPluginu.meta.ini
obsahuje spuštění odinstalačního scriptu, v sekci [uninstall]
položka Ggmap\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é.
Zde jsou uvedeny jednoduché ukázky základních operací.
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.)
*.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'); }
Pokud má plugin na mapě nějaký ovladací prvek, je vhodné jeho nadřízenému div
přidat třídu movable, nejlépe tak, aby vypadal stejně jako ostatní bloky ovládacích prvků, tedy
<div id="..." class="noprint leaflet-control-layers movable"> ... </div>
Pak bude mít jednak jednotný vzhled a zároveň jej bude možné přesouvat po mapě, bude-li nainstalován také plugin Movable.
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 | 2020/08/07 10:56 | 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 | 2020/08/07 11:02 | 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 |
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 |
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 |
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 |
Page | Date | Description | Tags |
---|---|---|---|
GpxFile | 2020/12/25 15:16 | GpxFile Plugin umožní zobrazit GPX soubor s prošlou nebo plánovanou cestou. To usnadňuje např. výběr keší k odlovu podél plánované cesty. Autor * Gord, Go… | author gord, ggmap file, ggmap |
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 |
Filename | Last modified |
---|---|
ggmap-plugin.ggi.pas (2.65 KiB, 8M ago, 27 downloads) | 2020/05/15 11:18 |