Overzicht
https://github.com/brianmcleer/mapswitcher-widget
De Map Switcher-widget biedt een dropdown-interface om te navigeren tussen verschillende Experience Builder-applicaties, terwijl de huidige kaartuitbreiding en zoomniveau behouden blijven. De widget vangt het URL-hashfragment van de bronapplicatie op en voegt dit toe aan de bestemmings-URL.
Opmerking: Een eerdere versie van deze widget had hardcoded URL's in de code, wat het delen op de Esri Community verhinderde. Experience Builder 1.19 introduceerde brekende wijzigingen die vereisten dat de widget opnieuw werd ontwikkeld. Deze versie stelt beheerders in staat om URL's te configureren via het instellingenpaneel van de widget, waardoor het geschikt is voor bredere distributie.
Configuratie-instellingen
Het instellingenpaneel van de widget bevat de sitesconfiguratie:
Sitesconfiguratie:
- Label: De weergegeven naam die in de dropdown verschijnt
- URL: De volledige URL naar de doel-Experience Builder-applicatie
Meerdere sites kunnen worden toegevoegd met de knop "Site toevoegen". Sites kunnen worden verwijderd met de knop "Verwijderen" bij elke invoer. De widget vereist geen verbinding met een kaartwidget.
Widgetfunctionaliteit
De widget toont een dropdownmenu met de geconfigureerde site-opties. De tijdelijke tekst is "Selecteer kaart om te bekijken".
Functionaliteit:
Wanneer een gebruiker een bestemming selecteert uit de dropdown:
- Vangt de widget het huidige URL-hashfragment op (alles na het #-symbool)
- Deze hash bevat kaartstatusparameters: middelpuntcoördinaten, zoomniveau, schaal, rotatie en ruimtelijke referentie
- Voegt de widget deze hash toe aan de geselecteerde bestemmings-URL
- Navigeert de browser naar de nieuwe applicatie
Kenmerken:
- Werkt met elk coördinatensysteem (Web Mercator, State Plane, WGS84, enz.)
- Behoudt middelpunt, zoomniveau en rotatie
- URL's geconfigureerd in het instellingenpaneel
Wijzigingslogboek:
23-07-2026: Bijgewerkt Map Switcher-widget voor Experience Builder 1.21 om TypeScript-editorfouten op te lossen, inclusief React-componenttypingen en onwrikbare configuratie-imports. De widgetversie is ook verhoogd en de nieuwste release is nu beschikbaar op GitHub.
04-06-2026: package.json en package-lock.json toegevoegd aan de widget. Deze widget heeft geen afhankelijkheden van derden, dus er hoeft niets extra's te worden geïnstalleerd. De installatie is gewoon de standaard npm install in je clientmap die je al gebruikt. Dank aan @SunshineLuke90 voor de suggestie en het doorlopen van de verpakkingsaanpak.