Einführung
https://github.com/brianmcleer/rightclick-widget
Das Rechtsklick-Widget fügt ArcGIS Experience Builder kontextbezogene Kartenwerkzeuge hinzu. Wenn ein Benutzer mit der rechten Maustaste auf die Karte klickt, wird ein Menü mit konfigurierbaren Aktionen angezeigt. So stehen Funktionen wie Zoomen, Messen, Koordinaten kopieren, Markierungen setzen, Text platzieren und Reverse Geocoding zur Verfügung.
Interaktion für Endbenutzer
Nach der Bereitstellung können Benutzer mit der rechten Maustaste an eine beliebige Stelle auf der Karte klicken, um ein Kontextmenü zu öffnen. Je nach Konfiguration sind möglicherweise die folgenden Aktionen verfügbar:
Navigationsaktionen:
- Vergrößern / Verkleinern: Passt die Zoomstufe an der angeklickten Stelle an
- Hier zentrieren: Verschiebt die Karte so, dass der angeklickte Punkt zentriert ist
Koordinatenaktionen:
- Koordinaten kopieren: Kopiert den Standort im konfigurierten Koordinatensystem in die Zwischenablage
- Koordinaten darstellen: Platziert nummerierte Koordinatenmarkierungen mit konfigurierbarem Stil und Koordinatenbeschriftungen
- Markierung platzieren: Platziert einfache Markierungen mit anpassbarem Erscheinungsbild
Grafikaktionen:
- Text hinzufügen: Platziert benutzerdefinierte Textgrafiken auf der Karte mit konfigurierbaren Schriftarteigenschaften
- Alle Grafiken löschen: Entfernt alle platzierten Markierungen und Texte (zeigt die Anzahl an, wenn Grafiken vorhanden sind)
Externe Dienste:
- In Google Street View öffnen: Öffnet den Standort in Google Street View anhand projizierter Koordinaten
- In Pictometry öffnen: Öffnet den Standort im Luftbild-Viewer von Pictometry anhand projizierter Koordinaten
Messwerkzeuge:
Informationsdienste:
Das Kontextmenü passt sich den Administratoreinstellungen an. Werkzeuge werden nach ihrer Verwendung oder bei einer Interaktion mit der Karte automatisch geschlossen.
Messwerkzeuge
Die Messfunktion umfasst die folgenden Spezifikationen:
Verfügbare Einheiten
- Entfernungsmessungen: Fuß, Yards, Meilen, Meter, Kilometer
- Flächenmessungen: Quadratfuß, Quadratyards, Quadratmeilen, Quadratmeter, Quadratkilometer, Acres
Optionen für die Einheitenanzeige
- Nur eine Einheit: Zeigt Messwerte in der ausgewählten Standardeinheit an
- Beide Einheiten anzeigen: Zeigt Messwerte sowohl in der primären Einheit als auch in der umgerechneten Entsprechung an (z. B. „150,00 Fuß (45,72 Meter)“)
Oberflächenelemente
- Das Entfernungsmesswerkzeug enthält eine Schaltfläche zum Schließen
- Das Flächenmesswerkzeug enthält eine Schaltfläche zum Schließen
- Die Standardschaltflächen „Neue Messung“ werden entfernt
Koordinaten und Markierungen darstellen
Das Widget bietet zwei Arten der Markierungsplatzierung:
Koordinatenmarkierungen:
- Fortlaufend ab 1 nummeriert
- Anzeige konfigurierbarer Koordinateninformationen in Popups
- Unterstützung mehrerer Koordinatensysteme (nativ für die Karte, WGS84, benutzerdefinierte WKID)
- Optionale Koordinatenbeschriftungen auf der Karte
- Konfigurierbare Markierungsstile, Farben, Umrisse und Positionierung
- Unterstützung des Formats Dezimalgrad oder Grad/Minuten/Sekunden für Breiten- und Längengrad
Einfache Markierungen:
- Einfache Punktmarkierungen ohne Nummerierung
- Vollständig anpassbares Erscheinungsbild, einschließlich Stil, Größe, Farbe, Umriss, Drehung und Versatz
- Unterstützung von Transparenzeinstellungen
Textgrafiken:
- Benutzerdefinierte Textplatzierung an angeklickten Stellen
- Konfigurierbare Schriftfamilie, Größe, Stärke und Farbe
- Optionale Textkonturen (Halo) und Hintergründe
- Bleibt während der Browsersitzung erhalten
Entwicklerkonfiguration
Kartenauswahl für Widgets
- Verknüpft das Rechtsklick-Widget mit Karten-Widgets in der Anwendung
- Aktiviert die Rechtsklickfunktion für ausgewählte Karten
Aktivierte Aktionen
Jede Aktion kann einzeln ein- oder ausgeschaltet werden:
- Vergrößern
- Verkleinern
- Hier zentrieren
- Koordinaten kopieren
- Koordinaten darstellen
- Markierung platzieren
- Text hinzufügen
- In Google Street View öffnen
- In Pictometry öffnen
- Entfernung messen
- Fläche messen
- Was ist hier?
Einstellungen für das Koordinatensystem
Das Format kopierter Koordinaten kann konfiguriert werden:
- Koordinatensystem der aktuellen Karte verwenden
- WGS84 verwenden (Breiten-/Längengrad)
Einstellungen für die Koordinatendarstellung
Umfassende Optionen zur Markierungskonfiguration:
- Koordinatensystem: Nativ für die Karte, WGS84 oder benutzerdefinierte WKID
- Formatoptionen: Dezimalgrad oder Grad/Minuten/Sekunden für Breiten- und Längengrad
- Markierungsstil: Kreis, Quadrat, Kreuz, X, Raute, Dreieck, Stecknadel
- Visuelle Eigenschaften: Größe, Farbe, Umrissfarbe/-breite, Deckkraft, Drehwinkel
- Positionierung: X-/Y-Versatz für präzise Platzierung
- Texteinstellungen: Größe und Farbe der Nummern
- Beschriftungen: Optionale Koordinatenbeschriftungen mit anpassbarem Versatz, Größe und Farbe
- Popup-Inhalt: Koordinatenanzeige in Markierungs-Popups ein- oder ausschalten
Einstellungen für einfache Markierungen
Unabhängige Stiloptionen für einfache Markierungen:
- Stiloptionen: Kreis, Quadrat, Kreuz, X, Raute, Dreieck, Stecknadel
- Erscheinungsbild: Größe, Farbe, Umrisseigenschaften, Deckkraft
- Positionierung: Drehwinkel und X-/Y-Versatz
Texteinstellungen
Schrift- und Anzeigeeinstellungen für Textgrafiken:
- Typografie: Schriftfamilie, Größe, Stärke (normal/fett)
- Farben: Textfarbe und Umrissfarbe (Halo)
- Effekte: Umrissgröße, optionale Hintergrundfarbe
- Hintergrund: Optionen für transparenten oder farbigen Hintergrund
Konfiguration für Reverse Geocoding
Feature-Layer-Konfiguration
Erweiterte Einstellungen für die Funktion „Was ist hier?“:
- Layer-Verwaltung: Feature-Layer mit benutzerdefinierten Namen hinzufügen/entfernen
- Feldauswahl: Bestimmte Felder auswählen, die aus jedem Dienst angezeigt werden sollen
- Dienstintegration: Felder automatisch anhand von Feature-Service-URLs laden
- Anzeigeoptionen: Feld-Aliasse und Gruppierung konfigurieren
Einstellungen für die Popup-Anzeige
Anpassungsoptionen für Informations-Popups:
- Layout: Einstellungen für Popup-Breite und maximale Höhe
- Inhaltsanordnung: Layer-Namen anzeigen/ausblenden, Option zum Gruppieren nach Layer
- Feldanzeige: Feld-Aliasse oder unveränderte Feldnamen verwenden
- Formatierung: Responsives Design mit Scrollen bei umfangreichen Inhalten
Messeinstellungen
- Standardeinheiten: Wählen Sie Fuß, Yards, Meilen, Meter oder Kilometer
- Einheitenanzeige: Wählen Sie zwischen der Anzeige einer einzelnen Einheit und der Anzeige zweier Einheiten mit Umrechnung
URLs externer Dienste
- Pictometry-Integration: Pictometry-Dienst-URL mit Koordinatenparametern konfigurieren
- Geocoding-Dienste: Endpunkte für Reverse-Geocoding-Dienste festlegen
Widget-Platzierung
Das Widget zeigt keine Oberflächenelemente an und läuft im Hintergrund. Empfohlene Konfiguration:
- Widget-Größe auf 0 × 0 Pixel festlegen
- In einer ungenutzten Ecke des Layouts platzieren
- In den Layouteinstellungen die Option „In den Hintergrund“ verwenden
- Widget sichtbar und aktiv lassen
- Nur für Desktop empfohlen, nicht für Tablet- oder Smartphone-Ansichten
Technische Hinweise
- Die Optionen im Einheiten-Dropdown werden gefiltert, sodass nur die angegebenen verfügbaren Einheiten angezeigt werden
- Ungültige Einheiten werden blockiert und auf die Standardeinheiten zurückgesetzt
- Die Konsolenausgabe ist auf Warnungen und Fehler beschränkt
- Das Widget umfasst Bereinigungsroutinen für die Speicherverwaltung
- Grafiken bleiben während der Browsersitzung erhalten, werden aber beim Neuladen der Seite gelöscht
- Koordinatenprojektionen unterstützen mehrere räumliche Bezugssysteme
- Feldmetadaten werden automatisch aus konfigurierten Feature Services geladen
Änderungsprotokoll
12.10.2026: Das Widget übernimmt jetzt die App-Sprache (?locale=, den Sprachumschalter, das ArcGIS-Profil oder den Browser) in 39 Sprachen; der Hilfeleitfaden ist ebenfalls enthalten.
Hast du eigene benutzerdefinierte Widgets? Dasselbe kostenlose Tool, exb-i18n-kit, kann sie mit einem einzigen Befehl übersetzen: localize. So werden die einzelnen Formulierungen ergänzt:
- Zuerst Esri. Das Tool liest die Übersetzungen aus, die bereits in deiner Experience-Builder-Installation vorhanden sind. Eine Formulierung wie „Zoomen auf“ verwendet daher denselben Wortlaut wie Esris eigene Widgets.
- Standardbegriffe. Einheitenbezeichnungen wie Fuß und Acres stammen aus Unicode CLDR, denselben Daten, die auch Browser verwenden.
- Gemeinsamer Übersetzungsspeicher. Alles Übrige stammt aus einem gemeinsamen Wörterbuch, das mit LibreTranslate, einem Open-Source-Übersetzer, sowie den Opus-MT-Modellen von Helsinki-NLP für Bosnisch, Kroatisch und Serbisch erstellt wurde. Das Tool läuft kostenlos auf GitHub; du brauchst also weder einen API-Schlüssel noch ein Konto.
- Anbindung. Das Tool findet außerdem englische Texte, die außerhalb der Übersetzungsdatei des Widgets fest codiert sind, etwa eine Standardeinstellung oder einen Hilfeleitfaden, und bindet sie so ein, dass auch sie übersetzt werden.
Manuell erstellte Korrekturen haben immer Vorrang vor der maschinellen Übersetzung und werden nie überschrieben. Einige Übersetzungen sind maschinell erstellt. Wenn dir eine unpassende Formulierung auffällt, antworte hier mit einem besseren Vorschlag.
10.09.2026:
Oben im Rechtsklickmenü wurde eine Hilfe-Schaltfläche hinzugefügt, die einen kurzen, durchsuchbaren Leitfaden öffnet. Außerdem wurde behoben, dass das Menü über den Seitenrand hinausragte, wenn du nahe am unteren oder rechten Kartenrand rechtsklicktest. Farben und Symbole richten sich jetzt nach dem Design deiner App. Lade die angehängte ZIP-Datei herunter oder hole sie dir von GitHub.
23.07.2026: Kompatibilität mit Experience Builder 1.21 (v1.0.2)
EB Developer Edition 1.21 (JS API 5.x) führte zu Problemen mit Teilen der Widget-Oberfläche. Diese wurden alle behoben. Das Widget bleibt mit 1.20 kompatibel.
- Das Layout des Messbereichs in 1.21 wurde korrigiert: Beschriftung und Wert standen ohne Abstand in einer Zeile („Entfernung378.15 ft“), außerdem fehlten dem Bereich Innenabstände und er wurde abgeschnitten. Der Bereich verwendet jetzt eigene Formatierungen statt Esris interner Klassennamen. Dadurch wird er in beiden Versionen korrekt dargestellt und bleibt auch bei künftigen Änderungen am Esri-DOM funktionsfähig.
- Die Formatierung des Popups „Was ist hier?“ in 1.21 wurde korrigiert: Listenzeilen, die Schaltflächen „Zurück“ und „Zoomen auf“ sowie Links wurden ohne Formatierung angezeigt, weil das Popup Inhalte nun in einem Shadow Root platziert, der für Stylesheets auf Seitenebene nicht zugänglich ist. Die Formatierungen werden jetzt direkt auf den Popup-Inhalt angewendet. Das in der Größe veränderbare Popup funktioniert auch über die Shadow-DOM-Grenze von 1.21 hinweg.
- Interne Modernisierung für JS API 5.x: Das Laden von Modulen wurde von AMD require global auf den Experience-Builder-Modullader umgestellt, die Eigenschaftsüberwachung wurde auf reactiveUtils umgestellt und Längen-/Flächenberechnungen greifen automatisch auf die neuen Geometrieoperatoren zurück, falls Esri geometryEngine in einer künftigen Version entfernt.
- Verbesserte Entwicklererfahrung: Eine widgeteigene tsconfig.json wurde hinzugefügt und TypeScript-Fehlalarme unterdrückt, die in Visual Studio und VS Code auftraten, nachdem 1.21 mehrere Typ-Pakete an einen anderen Speicherort verschoben hatte. Betrifft nur die Bearbeitung, keine Auswirkungen zur Laufzeit.
17.07.2026: Fehlerbehebung: Ein durch die mobile Langdruck-Funktion eingeführter Rückschritt wurde behoben, durch den Popup-Text in jeder Experience-Builder-App mit diesem Widget weder ausgewählt noch kopiert werden konnte. Die Unterdrückung des iOS-Touch-Callouts bei langem Drücken wurde auf den gesamten MapView-Container angewendet, der auch das Popup-DOM enthält. Da „user-select“ im Browser vererbt wird, übernahmen Popups die Unterdrückung. Sie gilt jetzt nur noch für die Kartenoberfläche. Das Verhalten beim langen Drücken bleibt unverändert, und Popup-Text lässt sich wieder auswählen und kopieren. Bestehende Live-Sitzungen werden beim Upgrade bereinigt, ohne dass die Karte neu geladen werden muss.
03.06.26: Verbesserungen (nur Version 1.20)
- Unterstützung für das Starten und Öffnen von Mailing Labels oder Property Report hinzugefügt, wenn diese in einem Akkordeon-Widget verschachtelt sind (Vielen Dank @KeyHunter für die Idee und das Testen)
- Paketstruktur vereinheitlicht: package.json, README.md, LICENSE (Apache 2.0), .gitignore und .npmignore hinzugefügt, damit Abhängigkeiten im Client-Ordner automatisch mit dem Standardbefehl `npm install` installiert werden. Einzelne Installationsbefehle für Abhängigkeiten sind nicht erforderlich.
21.05.26: Verbesserungen (nur Version 1.20)
- Öffnen des Mailing Labels-Widgets per Rechtsklick und Anwenden eines Puffers vor dem Senden.
12.05.26: Verbesserungen (nur Version 1.20)
- Einstellungen: XML-Import/-Export, damit Einstellungskonfigurationen gesichert oder zwischen Anwendungen übertragen werden können.
- Einstellungen/Widget: Die Funktionen von „Was ist hier?“ wurden erweitert, sodass Layer weitergehend untersucht werden können (siehe Video). Unterstützt Standardeinstellungen aus Webmaps und das Einbetten von Arcade in der Einstellungskonfiguration.
07.05.26: Fehler behoben, durch den Google Street View in Version 1.20 nicht funktionierte.
26.03.26: Problem für Version 1.20 behoben. Version 1.19 und 1.20 stehen zum Download bereit. Bitte melden Sie Probleme in diesem Blogbeitrag.
25.03.26 – Keine inkompatiblen Änderungen, aber DE 1.20 verursacht einige Fehler, die ich untersuchen muss
17.02.2026:
10.02.2026:
- Version 1.18 entfernt; nur Version 1.19 wird weiter gepflegt
- Unnötige Maßeinheiten aus der Auswahlliste entfernt (Zoll, Zentimeter)
- Den standardmäßigen Esri-Gesamtmesswert für Linien entfernt, da er zu Duplikaten führte
- Position des Kontextmenüs verbessert, damit es bei ausgeklappter Seitenleiste nicht verdeckt wird
10.12.2025 (nur für Version 1.19):
Aktualisierung der Theme-Typografie – Der gesamte Widget-Text verwendet jetzt die Theme-Typografie von Experience Builder für einheitliche Formatierung.
Verbesserungen der Barrierefreiheit – Für eine bessere Benutzerfreundlichkeit und Barrierefreiheit wurden mehrere WCAG-konforme Aktualisierungen für die Widgets hinzugefügt.
03.12.2025:
- Eine Funktion hinzugefügt, mit der sich im Einstellungsbereich für „Koordinaten kopieren“ ein beliebiges Koordinatensystem festlegen lässt, nicht nur Web Mercator.
- Neue Funktion in Version 1.19 hinzugefügt, in Version 1.18 nicht getestet. Der Artikel enthält die ursprüngliche Version 1.18 ohne die neue Funktion sowie Version 1.19 mit der neuen Funktion. Möglicherweise ist sie abwärtskompatibel mit Version 1.18, aber ich habe das nicht getestet.
23.07.2025:
- Das Widget wurde in der am 23.07.25 veröffentlichten Developer Edition 1.18 getestet und funktioniert wie gewohnt.
20.06.2025:
- Erweiterte Markersymbolisierung mit sieben verschiedenen Formen hinzugefügt (Kreis, Quadrat, Kreuz, X, Raute, Dreieck, Stecknadel)
- Steuerungsmöglichkeiten für Markerdrehung, Deckkraft und X-/Y-Versatz hinzugefügt
- Funktion für Textgrafiken mit Steuerelementen für Schriftart, Konturen und Hintergrundoptionen hinzugefügt
- Unterstützung für benutzerdefinierte Koordinatensysteme über die WKID-Eingabe hinzugefügt
- Optionen für Koordinatenformate hinzugefügt (Dezimalgrad oder Grad/Minuten/Sekunden)
- Einfache Markereintragung unabhängig von Koordinatenmarkern hinzugefügt
- Umfassende Feldauswahl für Feature-Layer mit automatischem Laden der Felder hinzugefügt
- Optionen zur Anpassung der Popup-Anzeige hinzugefügt (Breite, Höhe, Gruppierung, Feld-Aliase)
- Echtzeit-Zählung von Grafiken für die Option „Alle löschen“ hinzugefügt
- Marker-Vorschau in der Einstellungsoberfläche hinzugefügt
- Verbesserte Positionierung und Formatierung von Koordinatenbeschriftungen hinzugefügt
- Separate Steuerelemente zur Symbolisierung von Koordinatenmarkern und einfachen Markern hinzugefügt
13.06.2025:
- Fehler behoben, durch den beim Rechtsklick manchmal zusätzlich zum benutzerdefinierten Rechtsklickfenster das standardmäßige Browserfenster angezeigt wurde
- Pictometry als Rechtsklickoption hinzugefügt
- Feature-Layer zur Abfrage in der Funktion „Was ist hier?“ hinzugefügt
Zusammenfassung
Das Right Click-Widget ermöglicht konfigurierbare, kartenbasierte Aktionen über ein Kontextmenü. Es bietet Zoomfunktionen, Messungen mit gefilterter Einheitensteuerung, das Abrufen von Koordinaten, das Platzieren von Markern und Text mit umfangreichen Symbolisierungsoptionen sowie Reverse Geocoding mit Integration von Feature-Layern. Die Konfiguration ist über die Developer Edition verfügbar und gilt für verbundene Karten-Widgets.
Rückmeldungen zu Fehlern und Verbesserungsvorschläge können im Kommentarbereich dieses Blogbeitrags eingereicht werden.