Úvod
https://github.com/brianmcleer/rightclick-widget
Widget pro pravé tlačítko přidává do ArcGIS Experience Builderu kontextové nástroje mapy. Když uživatel klikne na mapu pravým tlačítkem, zobrazí se nabídka s řadou nastavitelných akcí. Umožňuje přístup k funkcím, jako je přiblížení, měření, kopírování souřadnic, umísťování značek, vkládání textu a reverzní geokódování.
Interakce koncového uživatele
Po nasazení mohou uživatelé kliknutím pravým tlačítkem kamkoli na mapu otevřít kontextovou nabídku. V závislosti na konfiguraci mohou být k dispozici následující akce:
Navigační akce:
- Přiblížit / Oddálit: Upraví úroveň přiblížení v místě kliknutí
- Vycentrovat sem: Posune mapu tak, aby se kliknutý bod nacházel uprostřed
Akce se souřadnicemi:
- Kopírovat souřadnice: Zkopíruje polohu do schránky v nakonfigurovaném souřadnicovém systému
- Vykreslit souřadnice: Umístí očíslované značky souřadnic s nastavitelným stylem a popisky souřadnic
- Umístit značku: Umístí jednoduché značky s přizpůsobitelným vzhledem
Grafické akce:
- Přidat text: Umístí na mapu vlastní textové grafické prvky s nastavitelnými vlastnostmi písma
- Odebrat všechny grafické prvky: Odebere všechny umístěné značky a text (při jejich existenci se zobrazí jejich počet)
Externí služby:
- Otevřít v Google Street View: Otevře polohu v Google Street View pomocí promítnutých souřadnic
- Otevřít v Pictometry: Otevře polohu v prohlížeči leteckých snímků Pictometry pomocí promítnutých souřadnic
Nástroje měření:
Informační služby:
Kontextová nabídka se přizpůsobuje nastavení správce. Nástroje se po použití nebo při interakci s mapou automaticky zavřou.
Nástroje měření
Funkce měření zahrnuje následující možnosti:
Dostupné jednotky
- Měření vzdálenosti: stopy, yardy, míle, metry, kilometry
- Měření plochy: čtvereční stopy, čtvereční yardy, čtvereční míle, čtvereční metry, čtvereční kilometry, akry
Možnosti zobrazení jednotek
- Pouze jedna jednotka: Zobrazuje měření ve vybrané výchozí jednotce
- Zobrazit obě jednotky: Zobrazuje měření v primární jednotce i jejím převedeném ekvivalentu (např. „150,00 stop (45,72 metru)“)
Prvky rozhraní
- Nástroj měření vzdálenosti obsahuje tlačítko Zavřít
- Nástroj měření plochy obsahuje tlačítko Zavřít
- Výchozí tlačítka „Nové měření“ jsou odebrána
Vykreslování souřadnic a značek
Widget nabízí dva typy umístění značek:
Značky souřadnic:
- Číslované postupně od 1
- Zobrazují vyskakovací okna s nastavitelnými informacemi o souřadnicích
- Podporují více souřadnicových systémů (nativní systém mapy, WGS84, vlastní WKID)
- Volitelné popisky souřadnic zobrazované na mapě
- Nastavitelné styly značek, barvy, obrysy a umístění
- Podpora formátu desetinných stupňů nebo stupňů/minut/vteřin pro zeměpisnou šířku a délku
Jednoduché značky:
- Základní bodové značky bez číslování
- Plně přizpůsobitelný vzhled včetně stylu, velikosti, barvy, obrysu, otočení a posunů
- Podpora nastavení průhlednosti
Textové grafické prvky:
- Umístění vlastního textu na kliknutá místa
- Nastavitelná rodina písma, velikost, řez a barva
- Volitelné obrysy textu (záře) a pozadí
- Přetrvávají během relace prohlížeče
Konfigurace pro vývojáře
Výběr mapového widgetu
- Propojí widget pro pravé tlačítko s mapovými widgety v aplikaci
- Povolí funkci kliknutí pravým tlačítkem na vybraných mapách
Povolené akce
Každou akci lze zapnout či vypnout samostatně:
- Přiblížit
- Oddálit
- Vycentrovat sem
- Kopírovat souřadnice
- Vykreslit souřadnice
- Umístit značku
- Přidat text
- Otevřít v Google Street View
- Otevřít v Pictometry
- Měřit vzdálenost
- Měřit plochu
- Co je tady?
Nastavení souřadnicového systému
Formát kopírovaných souřadnic lze nakonfigurovat:
- Použít souřadnicový systém aktuální mapy
- Použít WGS84 (zeměpisná šířka/délka)
Nastavení vykreslování souřadnic
Rozsáhlé možnosti konfigurace značek:
- Souřadnicový systém: Nativní systém mapy, WGS84 nebo vlastní WKID
- Možnosti formátu: Desetinné stupně nebo stupně/minuty/vteřiny pro zeměpisnou šířku/délku
- Styl značky: Kruh, čtverec, kříž, X, kosočtverec, trojúhelník, špendlík
- Vizuální vlastnosti: Velikost, barva, barva/tloušťka obrysu, neprůhlednost, úhel otočení
- Umístění: Ovládání posunu X/Y pro přesné umístění
- Nastavení textu: Velikost a barva číselného textu
- Popisky: Volitelné popisky souřadnic s nastavitelným posunem, velikostí a barvou
- Obsah vyskakovacího okna: Přepnutí zobrazení souřadnic ve vyskakovacích oknech značek
Nastavení jednoduchých značek
Samostatné ovládací prvky stylu základních značek:
- Možnosti stylu: Kruh, čtverec, kříž, X, kosočtverec, trojúhelník, špendlík
- Vzhled: Velikost, barva, vlastnosti obrysu, neprůhlednost
- Umístění: Úhel otočení a posuny X/Y
Nastavení textu
Konfigurace písma a zobrazení textových grafických prvků:
- Typografie: Rodina písma, velikost, řez (normální/tučné)
- Barvy: Barva textu a obrysu (záře)
- Efekty: Velikost obrysu, volitelná barva pozadí
- Pozadí: Možnosti průhledného nebo barevného pozadí
Konfigurace reverzního geokódování
Konfigurace vrstvy prvků
Pokročilá nastavení funkce „Co je tady?“:
- Správa vrstev: Přidávání a odebírání vrstev prvků s vlastními názvy
- Výběr polí: Výběr konkrétních polí k zobrazení z každé služby
- Integrace služeb: Automatické načítání polí z URL adres Feature Service
- Možnosti zobrazení: Konfigurace aliasů polí a seskupení
Nastavení zobrazení vyskakovacích oken
Možnosti přizpůsobení informačních vyskakovacích oken:
- Rozvržení: Nastavení šířky a maximální výšky vyskakovacího okna
- Uspořádání obsahu: Zobrazení/skrytí názvů vrstev, možnost seskupit podle vrstvy
- Zobrazení polí: Použití aliasů polí nebo původních názvů polí
- Stylování: Responzivní design s posuvníkem pro rozsáhlý obsah
Nastavení měření
- Výchozí jednotky: Vyberte stopy, yardy, míle, metry nebo kilometry
- Zobrazení jednotek: Vyberte zobrazení jedné jednotky nebo dvou jednotek včetně převodů
URL adresy externích služeb
- Integrace Pictometry: Konfigurace URL služby Pictometry s parametry souřadnic
- Geokódovací služby: Nastavení koncových bodů služby reverzního geokódování
Umístění widgetu
Widget nezobrazuje prvky rozhraní a pracuje na pozadí. Doporučená konfigurace:
- Nastavte velikost widgetu na 0×0 pixelů
- Umístěte ho do nevyužitého rohu rozvržení
- V nastavení rozvržení použijte možnost „Přesunout dozadu“
- Widget ponechte viditelný a aktivní
- Doporučeno pouze pro počítače, nikoli pro tablety či telefony
Technické poznámky
- Možnosti rozevíracího seznamu jednotek jsou filtrovány tak, aby se zobrazovaly pouze určené dostupné jednotky
- Neplatné výběry jednotek jsou blokovány a obnoví se výchozí jednotky
- Záznamy do konzole jsou omezeny na varování a chyby
- Widget obsahuje postupy pro uvolňování prostředků kvůli správě paměti
- Grafické prvky přetrvávají během relace prohlížeče, ale při obnovení stránky se odstraní
- Projekce souřadnic podporují více prostorových referenčních systémů
- Metadata polí se automaticky načítají z nakonfigurovaných služeb Feature Service
Historie změn
12. 10. 2026: Widget nyní přebírá jazyk aplikace (?locale=, přepínač jazyka, profil ArcGIS nebo prohlížeč) ve 39 jazycích; zahrnuta je i uživatelská příručka.
Máte vlastní widgety? Stejný bezplatný nástroj, exb-i18n-kit, je dokáže přeložit jediným příkazem: localize. Podívejte se, jak překládá jednotlivé fráze:
- Nejprve Esri. Načte překlady, které už jsou ve vaší instalaci Experience Builderu, takže fráze jako „Přiblížit na“ používají znění z vlastních widgetů Esri.
- Standardní výrazy. Názvy jednotek jako stopy a akry pocházejí z Unicode CLDR, stejného zdroje dat, který používají prohlížeče.
- Sdílená překladová paměť. Vše ostatní pochází ze sdíleného slovníku vytvořeného pomocí open source překladače LibreTranslate a modelů Opus-MT od Helsinki-NLP pro bosenštinu, chorvatštinu a srbštinu. Běží zdarma na GitHubu, takže nepotřebujete klíč API ani účet.
- Propojení. Vyhledá také anglický text pevně zapsaný mimo překladový soubor widgetu, například výchozí nastavení nebo uživatelskou příručku, a propojí ho tak, aby se také překládal.
Ručně vytvořené úpravy mají vždy přednost před strojovým překladem a nikdy se nepřepisují. Některé překlady jsou vytvořené strojově, takže pokud narazíte na nevhodný překlad, odpovězte zde s lepším zněním.
10. 9. 2026:
Přidáno tlačítko Nápověda do horní části nabídky po kliknutí pravým tlačítkem; otevírá stručnou příručku s vyhledáváním. Opravena také situace, kdy nabídka přesahovala okraj stránky při kliknutí pravým tlačítkem blízko dolního nebo pravého okraje mapy. Barvy a ikony nyní odpovídají motivu aplikace. Stáhněte přiložený ZIP nebo si ho stáhněte z GitHubu.
23. 7. 2026: Kompatibilita s Experience Builderem 1.21 (v1.0.2)
EB Developer Edition 1.21 (JS API 5.x) poškodil některé části uživatelského rozhraní widgetu. Všechny problémy uvedené níže jsou vyřešeny. Widget zůstává kompatibilní s verzí 1.20.
- Opraveno rozvržení panelu měření ve verzi 1.21: popisek a hodnota se zobrazovaly na jednom řádku bez mezery („Vzdálenost378.15 ft“), panel přišel o vnitřní odsazení a jeho obsah byl oříznutý. Panel má nyní styl nezávislý na interních názvech tříd Esri, takže se správně zobrazuje v obou verzích a odolá budoucím změnám DOM v Esri.
- Opraven styl vyskakovacího okna funkce Co je tady? ve verzi 1.21: řádky seznamu, tlačítka Zpět a Přiblížit na a odkazy se zobrazovaly bez stylů, protože vyskakovací okno nyní umísťuje obsah do stínového kořene, do kterého styly stránky nedosáhnou. Styly se nyní aplikují přímo na obsah vyskakovacího okna. Vyskakovací okno s možností změny velikosti nyní funguje i přes hranici stínového DOM ve verzi 1.21.
- Modernizace interního fungování pro JS API 5.x: načítání modulů bylo převedeno z globálního AMD require na načítač modulů Experience Builderu, sledování vlastností bylo převedeno na reactiveUtils a výpočty délky/plochy automaticky přejdou na nové geometrické operátory, pokud Esri v budoucí verzi odebere geometryEngine.
- Vývojářské prostředí: přidán soubor tsconfig.json na úrovni widgetu a potlačena falešně pozitivní hlášení TypeScriptu, která se po přesunutí několika balíčků s typy ve verzi 1.21 objevovala ve Visual Studiu a VS Code. Změny se týkají pouze úprav kódu a nemají vliv na běh.
17. 7. 2026: Oprava chyby: Opravena regrese zavedená s funkcí dlouhého stisknutí na mobilních zařízeních, která znemožňovala výběr a kopírování textu vyskakovacích oken ve všech aplikacích Experience Builder obsahujících tento widget. Potlačení dotykové nabídky při dlouhém stisknutí v iOS se vztahovalo na celý kontejner MapView, ve kterém se nachází také DOM vyskakovacího okna; protože prohlížeč dědí vlastnost user-select, vyskakovací okna toto potlačení přebírala. Potlačení je nyní omezeno pouze na plochu mapy, takže chování při dlouhém stisknutí zůstává beze změny a text ve vyskakovacích oknech lze opět vybírat a kopírovat. Stávající aktivní relace se po aktualizaci automaticky vyčistí, aniž by bylo nutné mapu znovu připojit.
3. 6. 2026: Vylepšení (pouze verze 1.20)
- Přidána podpora spouštění a otevírání widgetů Mailing Labels nebo Property Report, pokud jsou vložené do widgetu akordeon (děkuji @KeyHunter za nápad a testování)
- Standardizována struktura balíčku: přidány soubory package.json, README.md, LICENSE (Apache 2.0), .gitignore a .npmignore, aby se závislosti automaticky instalovaly standardním příkazem `npm install` ve složce klienta. Není třeba instalovat jednotlivé závislosti samostatnými příkazy.
21. 5. 2026: Vylepšení (pouze verze 1.20)
- Otevřít widget Mailing Labels pomocí nabídky po kliknutí pravým tlačítkem a před odesláním použít obalovou zónu.
12. 5. 2026: Vylepšení (pouze verze 1.20)
- Nastavení: Import/export XML umožňuje zálohovat konfigurace nastavení nebo je přenášet mezi aplikacemi.
- Nastavení/widget: Vylepšena funkce „Co je tady?“ – nyní umožňuje podrobněji procházet vrstvy (viz video). Podporuje výchozí nastavení z webové mapy nebo vložení Arcade do konfigurace nastavení.
7. 5. 2026: Opravena chyba, kvůli které nefungoval Google Street View ve verzi 1.20.
26. 3. 2026: Vyřešen problém ve verzi 1.20. Ke stažení jsou verze 1.19 a 1.20. Případné problémy prosím nahlaste v komentářích k tomuto příspěvku na blogu.
25. 3. 2026 – Žádné zásadní změny, ale DE 1.20 způsobuje několik chyb, které musím prověřit
17. 2. 2026:
10. 2. 2026:
- Odstraněna verze 1.18, nadále se udržuje pouze verze 1.19
- Ze seznamu byly odstraněny zbytečné měrné jednotky (palce, centimetry)
- Odstraněn výchozí součet měření Esri pro linie, protože způsoboval duplicity
- Upravena poloha kontextové nabídky, aby při rozbaleném postranním panelu nebyla skrytá
10. 12. 2025 (pouze pro verzi 1.19):
Aktualizace typografie motivu – Veškerý text widgetu nyní používá typografii motivu Experience Builder, což zajišťuje jednotný vzhled.
Vylepšení přístupnosti – Ve widgetech bylo provedeno několik úprav v souladu s WCAG, které zlepšují použitelnost a přístupnost.
3. 12. 2025:
- Přidána možnost použít pro funkci Kopírovat souřadnice libovolný souřadnicový systém, nejen Web Mercator; nastavení je dostupné v panelu nastavení.
- Nová funkce přidaná ve verzi 1.19 nebyla testována ve verzi 1.18. Článek obsahuje původní verzi 1.18 bez nové funkce a verzi 1.19 s touto funkcí. Ve verzi 1.18 může být zpětně kompatibilní, ale netestoval jsem to.
23. 7. 2025:
- Widget byl otestován v Developer Edition 1.18, vydané 23. 7. 2025, a funguje jako obvykle.
20. 6. 2025:
- Přidány rozšířené možnosti stylování značek se 7 různými tvary (kruh, čtverec, kříž, x, kosočtverec, trojúhelník, špendlík)
- Přidány ovládací prvky pro otáčení a průhlednost značek a nastavení jejich posunu v osách X/Y
- Přidána funkce textové grafiky s nastavením vlastního písma, obrysů a pozadí
- Přidána podpora vlastních souřadnicových systémů zadáním WKID
- Přidány možnosti formátu souřadnic (desetinné stupně nebo stupně/minuty/vteřiny)
- Přidáno jednoduché vykreslování značek, oddělené od značek souřadnic
- Přidán komplexní výběr polí pro vrstvy prvků včetně automatického načítání polí
- Přidány možnosti přizpůsobení zobrazení vyskakovacího okna (šířka, výška, seskupení, aliasy polí)
- Přidáno počítání grafických prvků v reálném čase v možnosti Vymazat vše
- Do rozhraní nastavení byla přidána funkce náhledu značek
- Vylepšeno umístění a formátování popisků souřadnic
- Přidány samostatné ovládací prvky stylování značek souřadnic a jednoduchých značek
13. 6. 2025:
- Opravena chyba, kvůli které se po kliknutí pravým tlačítkem někdy zobrazovalo výchozí okno prohlížeče spolu s vlastní nabídkou
- Přidána možnost Pictometry do nabídky po kliknutí pravým tlačítkem
- Do funkce „Co je tady?“ byly přidány vrstvy prvků, ve kterých lze vyhledávat
Shrnutí
Widget Right Click umožňuje konfigurovat akce nad mapou prostřednictvím kontextové nabídky. Podporuje přibližování, měření s filtrováním jednotek, získávání souřadnic, umisťování značek a textu s rozsáhlými možnostmi stylování a reverzní geokódování s integrací vrstev prvků. Konfigurace je dostupná prostřednictvím Developer Edition a vztahuje se na připojené mapové widgety.
Podněty týkající se chyb a vylepšení můžete zasílat v komentářích k tomuto příspěvku na blogu.