Übersicht
https://github.com/brianmcleer/mapswitcher-widget
Das Map Switcher-Widget bietet eine Dropdown-Oberfläche zum Navigieren zwischen verschiedenen Experience Builder-Anwendungen, während der aktuelle Kartenbereich und die Zoomstufe erhalten bleiben. Das Widget erfasst den URL-Hash-Fragment aus der Quellanwendung und fügt ihn der Ziel-URL hinzu.
Hinweis: Eine frühere Version dieses Widgets hatte fest codierte URLs im Code, was das Teilen in der Esri Community verhinderte. Experience Builder 1.19 brachte grundlegende Änderungen mit sich, die eine Neuentwicklung des Widgets erforderlich machten. Diese Version ermöglicht Administratoren, URLs über das Einstellungsfenster des Widgets zu konfigurieren, was sie für eine breitere Verteilung geeignet macht.
Konfigurationseinstellungen
Das Einstellungsfenster des Widgets enthält die Konfiguration der Sites:
Sites-Konfiguration:
- Bezeichnung: Der Anzeigename, der im Dropdown erscheint
- URL: Die vollständige URL zur Ziel-Experience Builder-Anwendung
Mehrere Sites können über die Schaltfläche "Site hinzufügen" hinzugefügt werden. Sites können mit der Schaltfläche "Entfernen" für jeden Eintrag gelöscht werden. Das Widget benötigt keine Verbindung zu einem Karten-Widget.
Widget-Funktionalität
Das Widget zeigt ein Dropdown-Menü mit den konfigurierten Site-Optionen an. Der Platzhaltertext lautet „Karte zum Anzeigen auswählen“.
Funktionalität:
Wenn ein Benutzer ein Ziel aus dem Dropdown auswählt:
- Erfasst das Widget den aktuellen URL-Hash-Fragment (alles nach dem # Symbol)
- Dieser Hash enthält Kartenstatusparameter: Mittelpunktkoordinaten, Zoomstufe, Maßstab, Rotation und räumliche Referenz
- Das Widget fügt diesen Hash an die ausgewählte Ziel-URL an
- Der Browser navigiert zur neuen Anwendung
Funktionen:
- Funktioniert mit jedem Koordinatensystem (Web Mercator, State Plane, WGS84 usw.)
- Erhält Mittelpunkt, Zoomstufe und Rotation
- URLs in den Einstellungen konfiguriert
Änderungsprotokoll:
23.07.2026: Aktualisierung des Map Switcher-Widgets für Experience Builder 1.21 zur Behebung von TypeScript-Editorfehlern, einschließlich React-Komponententypisierung und unveränderlichen Konfigurationsimporten. Die Widget-Version wurde ebenfalls erhöht und die neueste Version ist jetzt auf GitHub verfügbar.
04.06.2026: Hinzufügen von package.json und package-lock.json zum Widget. Dieses Widget hat keine Abhängigkeiten von Drittanbietern, daher muss nichts zusätzlich installiert werden. Die Einrichtung erfolgt einfach durch das übliche npm install in Ihrem Client-Ordner, das Sie bereits durchführen. Danke an @SunshineLuke90 für den Vorschlag und die Begleitung beim Verpackungsansatz.