Přehled
https://github.com/brianmcleer/mapswitcher-widget
Widget Přepínač map poskytuje rozbalovací rozhraní pro přechod mezi různými aplikacemi Experience Builder při zachování aktuálního rozsahu mapy a úrovně přiblížení. Widget zachytává fragment URL hash ze zdrojové aplikace a připojuje jej k cílové URL.
Poznámka: Předchozí verze tohoto widgetu měla v kódu pevně zakódované URL, což znemožňovalo její sdílení na Esri Community. Experience Builder 1.19 přinesl zásadní změny, které vyžadovaly přepracování widgetu. Tato verze umožňuje správcům konfigurovat URL prostřednictvím panelu nastavení widgetu, což ji činí vhodnou pro širší distribuci.
Nastavení konfigurace
Panel nastavení widgetu obsahuje konfiguraci lokalit:
Konfigurace lokalit:
- Popisek: Zobrazovaný název, který se objeví v rozbalovacím seznamu
- URL: Kompletní URL cílové aplikace Experience Builder
Více lokalit lze přidat pomocí tlačítka „Přidat lokalitu“. Lokality lze odebrat pomocí tlačítka „Odebrat“ u každého záznamu. Widget nevyžaduje připojení k mapovému widgetu.
Funkčnost widgetu
Widget zobrazuje rozbalovací menu s nakonfigurovanými možnostmi lokalit. Text zástupce je „Vyberte mapu k zobrazení“.
Funkčnost:
Když uživatel vybere cíl z rozbalovacího seznamu:
- Widget zachytí aktuální fragment URL hash (vše po symbolu #)
- Tento hash obsahuje parametry stavu mapy: souřadnice středu, úroveň přiblížení, měřítko, rotaci a prostorovou referenci
- Widget připojí tento hash k vybrané cílové URL
- Prohlížeč přejde na novou aplikaci
Funkce:
- Funguje s jakýmkoli souřadnicovým systémem (Web Mercator, State Plane, WGS84 atd.)
- Zachovává středový bod, úroveň přiblížení a rotaci
- URL nakonfigurované v panelu nastavení
Změny:
23.07.2026: Aktualizován widget Přepínač map pro Experience Builder 1.21 k odstranění chyb editoru TypeScript, včetně typování komponent React a importů neměnných konfigurací. Verze widgetu byla také zvýšena a nejnovější vydání je nyní dostupné na GitHubu.
04.06.2026: Přidány soubory package.json a package-lock.json do widgetu. Tento widget nemá žádné závislosti třetích stran, takže není potřeba nic dalšího instalovat. Nastavení je standardní npm install ve vaší klientské složce, kterou už používáte. Díky patří @SunshineLuke90 za návrh a za průvodce balicím postupem.