Widget für benutzerdefinierte Kartenebenen
Eine modifizierte Version des Map-Layers-Widgets von Experience Builder. Es bietet alle Funktionen des Standard-Widgets und ergänzt die unten aufgeführten Funktionen. Dieses Widget wurde aus einer Frage zu Custom Widgets übernommen, in der ich die ursprüngliche Version hatte.
GitHub: https://github.com/brianmcleer/map-layers-custom-widget
Zusätzliche Funktionen gegenüber dem Standard-Widget für Kartenebenen
- Neue Sublayer automatisch einbeziehen: Neu hinzugefügte Sublayer einer festgelegten Gruppe erscheinen in bereitgestellten Apps, ohne dass Einstellungen bearbeitet oder die App erneut bereitgestellt werden müssen.
- Layer-Fokus: Einen einzelnen Layer oder Sublayer eines Kartendienstes isolieren und alle anderen ausblenden, mit einer ausdrücklichen Option zum Beenden.
- Anzeige der Anzahl sichtbarer Layer.
- Einklappbare Layerliste mit optional eingeklappter Startansicht.
- Daten hinzufügen: Layer über eine URL (ArcGIS-Service, Vektorkachel, WMS, WMTS, GeoJSON, CSV, KML) oder eine lokale Datei (GeoJSON, CSV, KML, gezippter Shapefile) hinzufügen.
- Gesamtdeckkraft: Mit einem Schieberegler die Deckkraft aller Layer festlegen.
- Grundkarten-Auswahl mit den Grundkarten der Organisation.
- Legendenfenster.
- Gespeicherte Ansichten: Sichtbarkeitseinstellungen von Layern speichern und als JSON exportieren oder importieren.
- Anzahl der Suchtreffer einschließlich Sublayern von Kartendiensten sowie ein Filter für nur sichtbare Layer.
- Werkzeuge für mehrere Layer: Alle ein- oder ausschalten, Sichtbarkeit zurücksetzen, auf sichtbare Layer zoomen, Kartenbild exportieren sowie alle erweitern oder einklappen.
- Werkzeuge für einzelne Layer: Hervorheben, URL kopieren, aktualisieren, Layerdetails anzeigen, nach oben oder unten verschieben und aus Gruppe entfernen.
Jede Funktion lässt sich in den Widget-Einstellungen ein- oder ausschalten.
Voraussetzungen
Experience Builder Developer Edition 1.19 oder 1.20 (React 19). EB 1.18 und frühere Versionen werden nicht unterstützt.
Installation
- Laden Sie das ZIP-Archiv der Version herunter und entpacken Sie es.
- Legen Sie den Ordner map-layers-custom so ab, dass sich manifest.json direkt unter client/your-extensions/widgets/map-layers-custom/ befindet.
- Führen Sie im Ordner client npm install aus.
- Starten Sie den Client neu und laden Sie den Builder mit einem Hard-Refresh neu.
Die vollständige Installationsanleitung und Hinweise zur Fehlerbehebung finden Sie in der README-Datei auf GitHub.
Änderungsprotokoll:
12.10.2026: Das Widget verwendet jetzt die App-Sprache (?locale=, den Sprachumschalter, das ArcGIS-Profil oder den Browser) in 39 Sprachen; eine Hilfeanleitung ist ebenfalls enthalten.
Haben Sie eigene benutzerdefinierte Widgets? Dasselbe kostenlose Tool, exb-i18n-kit, kann sie mit einem einzigen Befehl übersetzen: localize. So ergänzt es die einzelnen Formulierungen:
- Esri hat Vorrang. Das Tool verwendet die Übersetzungen, die bereits in Ihrer Experience-Builder-Installation vorhanden sind. So wird eine Formulierung wie „Zoom to“ genauso übersetzt wie in den Esri-eigenen Widgets.
- Standardbegriffe. Bezeichnungen für Maßeinheiten wie Fuß und Acres stammen aus Unicode CLDR, derselben Datenquelle, die auch Browser verwenden.
- Gemeinsamer Übersetzungsspeicher. Alles, was noch fehlt, stammt aus einem gemeinsam genutzten Wörterbuch, das mit LibreTranslate, einem Open-Source-Übersetzungstool, sowie den Opus-MT-Modellen von Helsinki-NLP für Bosnisch, Kroatisch und Serbisch erstellt wurde. Das Tool läuft kostenlos auf GitHub; Sie benötigen weder einen API-Schlüssel noch ein Konto.
- Einbindung. Außerdem findet das Tool englische Texte, die außerhalb der Übersetzungsdatei des Widgets fest codiert sind, etwa eine Standardeinstellung oder eine Hilfeanleitung, und bindet sie ein, damit auch sie übersetzt werden.
Manuell erstellte Korrekturen haben immer Vorrang vor maschinellen Übersetzungen und werden niemals überschrieben. Einige Übersetzungen sind maschinell erstellt. Wenn Ihnen eine unpassende Formulierung auffällt, antworten Sie hier mit einem besseren Vorschlag.
30.09.2026:
- Eine Ebene pro Gruppe auswählen: Eine Gruppe so einstellen, dass immer nur ein Layer gleichzeitig aktiviert sein kann (Optionsfelder).
- Link zu diesen Layern kopieren: Einen Link teilen, über den die App mit denselben aktivierten Layern geöffnet wird.
- Layerliste exportieren: Alle Layer, Gruppen und Sublayer samt Aktivierungsstatus und URL als CSV speichern.
- Layer-Statusprüfung: Dienste werden regelmäßig überprüft; Dienste, die nicht mehr antworten, werden in der Liste markiert.
- Meldungen zu defekten Layern: Layer, die nicht geladen oder dargestellt werden können, werden gemeldet, auch wenn sie tief in Gruppen verschachtelt sind.
- Voreingestellte Ansichten: Der App-Ersteller kann Layeransichten speichern, die allen Nutzern angezeigt werden.
- Luftbilder in der Nähe: Luft- und Satellitenbilder hinzufügen, die den aktuellen Kartenausschnitt abdecken.
- Favoriten: Layer mit einem Stern markieren und die Liste auf Favoriten beschränken.
- Aufgeräumte Layernamen: Namen bei Bedarf übersichtlicher darstellen, zum Beispiel Unterstriche als Leerzeichen anzeigen.
- Bis zur Sichtbarkeit zoomen: Mit einem Klick auf einen Layer zoomen, der im aktuellen Maßstab ausgegraut ist.
- Nutzungs-Telemetrie: Bei Klicks auf Layer wird jetzt auch der Gruppenpfad des Layers erfasst.
11.09.2026:
Dem Kopfbereich wurde eine Hilfe-Schaltfläche hinzugefügt. Sie öffnet eine kurze, durchsuchbare Anleitung, in der ausschließlich die in Ihrer App aktivierten Funktionen beschrieben werden, sowie einen einmaligen Hinweis „Neu hier?“.
23.07.2026: Das Widget für benutzerdefinierte Kartenebenen wurde für die Kompatibilität mit Experience Builder 1.21 aktualisiert und TypeScript-Editorfehler wurden behoben. Dies ist lediglich ein Wartungsupdate; die Funktionalität des Widgets bleibt unverändert.