Konfiguration
Editier-Funktionen zu einer App hinzufügen
Die Auslieferung enthält eine Beispiel-App, die den Einsatz der Editier-Funktionen zeigt. |
Um die Editier-Funktionen zu einer App hinzuzufügen, fügen Sie das Bundle advanced-editing
zu Ihrer App hinzu und ergänzen Sie die im Folgenden beschriebenen Werkzeuge oder Aktionen in einem Werkzeugset, Popup oder Result Center.
Werkzeuge
Fügen Sie die gewünschten Werkzeuge zur App hinzu:
Funktion | Werkzeug-ID |
---|---|
Neues Objekt erfassen |
|
Objekt bearbeiten |
|
Objekte zusammenführen |
|
Allgemeine Hinweise zur Konfiguration von Werkzeugen sind im Abschnitt Werkzeuge der map.apps Dokumentation beschrieben.
Editier-Aktion in Popups
Um Nutzenden die Möglichkeit zu geben, die Editierung eines bestehenden Objekts aus einem Popup heraus zu starten, ergänzen Sie die Custom Action advanced-editing-edit-object
in der Konfiguration des jeweiligen Karten-Layers wie in folgendem Beispiel:
{
"map-init": {
"Config": {
"basemaps": [],
"map": {
"layers": [
{
"id": "status",
"url": "https://www.example.com/arcgis/rest/services/mapapps/stoerung/FeatureServer/1",
"type": "AGS_FEATURE",
"popupTemplate": {
"customActions": [
"advanced-editing-edit-object"
]
}
}
]
}
}
}
}
Editier-Aktionen im Result Center
Objekte aus editierbaren Layern können aus dem Result Center heraus bearbeitet werden, sobald die Bundles result-ui
und advanced-editing
in einer App verwendet werden.
Das Result Center wird minimiert, sobald die Editierung über eine sog. Row-Action gestartet wird.
Karten-Layer
Fügen Sie die Layer, die zur Editierung genutzt werden sollen zur App hinzu. Details hierzu sind im Abschnitt Karteninhalt der map.apps Dokumentation beschrieben.
Um festzulegen, ob ein Layer zum Editieren und/oder Snapping genutzt werden darf, verwenden Sie die folgende Konfiguration.
Die Standardwerte sind true
.
{
"id": "mylayer",
"type": "AGS_FEATURE",
"url": ".../FeatureServer/0",
"advancedEditing": {
"allowSnapping": true,
"allowEditing": true
}
}
Editier-Oberflächen
Für die Konfiguration stehen folgende Parameter zur Verfügung:
Name | Beschreibung |
---|---|
|
Legt fest, ob der Reiter Geometrie angezeigt wird. |
|
Legt fest, ob der Reiter Attribute angezeigt wird. |
|
Legt fest, ob der Reiter Datei-Anhänge angezeigt wird. |
Das folgende Beispiel zeigt die Konfiguration mit den Standardwerten:
{
"advanced-editing": {
"Config": {
"allowGeometryEditing": true,
"allowAttributeEditing": true,
"allowAttachmentEditing": true
}
}
}
Dialog zur Geometrie-Editierung anpassen
Für die Konfiguration stehen folgende Parameter zur Verfügung:
Name | Beschreibung |
---|---|
|
Legt fest, ob die Werkzeuge zum Zeichnen von temporären Hilfsgeometrien angezeigt werden. |
Das folgende Beispiel zeigt die Konfiguration mit den Standardwerten:
{
"advanced-editing": {
"Config": {
"showSketching": true
}
}
}
Dialog zur Attribut-Editierung anpassen
Um die Eingabemasken zur Attribut-Editierung anzupassen, können sog. FormTemplates genutzt werden, die am jeweiligen Feature Layer definiert werden. Dadurch kann eine Auswahl der angezeigten Attribute, deren Reihenfolge und Gruppierung festgelegt werden.
Das folgende Beispiel zeigt die Definition eines FormTemplates
:
{
"map-init": {
"Config": {
"basemaps": [],
"map": {
"layers": [
{
"id": "status",
"url": "https://www.example.com/arcgis/rest/services/mapapps/stoerung/FeatureServer/1",
"type": "AGS_FEATURE",
"title": "Layer with custom formTemplate",
"formTemplate": {
"title": "Bürger melden Störungen",
"description": "Helfen Sie dabei, unsere Stadt schön zu halten!",
"elements": [
{
"type": "group",
"label": "Art der Störung",
"description": "Im ersten Schritt, geben Sie bitte die Art der Störung ein.",
"elements": [
{
"type": "field",
"fieldName": "art",
"label": "Was möchten Sie melden?"
}
]
},
{
"type": "group",
"label": "Details zur Erfassung",
"description": "Geben Sie in diesem Schritt optional weitere Informationen ein.",
"elements": [
{
"type": "field",
"fieldName": "details",
"label": "Details zur Meldung"
},
{
"type": "field",
"fieldName": "zeitpunkt",
"label": "Zeitpunkt der Meldung"
}
]
}
]
}
}
]
}
}
}
}
Verhalten beim Editieren
Verschieben von Objekten verhindern
Um die Möglichkeit Objekte komplett zu verschieben abzuschalten, setzen Sie folgende Konfiguration:
{
"advanced-editing": {
"Config": {
"allowMovingObject": true
}
}
}
Eine Verschiebung einzelner Stützpunkte ist weiterhin möglich.
Fangen (Snapping)
Fangen auf Grundkarten erlauben
Um das Fangen (Snapping) auf Grundkarten zu ermöglichen, setzen Sie folgende Konfiguration:
{
"advanced-editing": {
"Config": {
"allowBasemapSnapping": true
}
}
}
Fang-Toleranz
Um die Toleranz des Fangens zu ändern, setzen Sie folgende Konfiguration (6 Pixel ist der Standardwert):
{
"advanced-editing": {
"Config": {
"snappingOptions": {
"distance": 6
}
}
}
}
Fangen rechter Winkel und paralleler Linien abschalten
Um zu verhindern, dass beim Zeichnen von Linien oder Flächen rechte Winkel und parallele Linien zu zuvor gezeichneten Segmenten angezeigt und gefangen werden, setzen Sie folgende Konfiguration:
{
"advanced-editing": {
"Config": {
"snappingOptions": {
"selfEnabled": false
}
}
}
}
Weitere Informationen zur Konfiguration können der Bundle-Dokumentation entnommen werden. |