Projekte werden im ArcGIS QuickCapture Designer in der Regel mit einer grafischen Bedienoberfläche konfiguriert; Sie können jedoch auch den JSON-Code des Projekts ändern.
Wenn Sie den JSON-Code des Projekts bearbeiten, können Sie die folgenden Eigenschaften ändern:
- basemap: Eine beim Überprüfen der Daten angezeigte Karte
- dataSources: Listet die Feature-Layer auf, die von Schaltflächen in einem Projekt verwendet werden.
- preferences: Kann auf alle in einem Projekt erfassten Datensätze angewendet werden.
- templateGroups: Stellt eine Gruppe von Schaltflächen dar.
- templates: Stellt eine Schaltfläche dar
- cameraInfo: Legt fest, wie Fotos und Videos für den Datensatz erfasst werden.
- captureInfo: Legt fest, wie Daten erfasst werden, wenn eine Schaltfläche ausgewählt wird. Konfigurieren Sie diese Option, um die Karte nach der Erfassung anzuzeigen (zu Zwecken der Positionsbearbeitung) und den Anzeigetext sowie den Hinweis auf der Kartenseite anzupassen.
- displayInfo: Legt das Aussehen einer Schaltfläche fest.
- fieldInfos: Die Attributwerte, die für den Datensatz erfasst werden
- tracking: Stellt den vom Projekt verwendeten Positionsfreigabe-Layer dar.
- userInput: Eine vom Benutzer angegebene Zeichenfolge, die zum Füllen der Attribute eines Datensatzes verwendet werden kann
Einige dieser Eigenschaften sind Arrays weiterer Eigenschaften. In den folgenden Unterabschnitten werden die Details der Eigenschaften-Arrays beschrieben.
Grundkarte
Standardmäßig entspricht die Karte eines neuen Projekts der Standardgrundkarte der Organisation. Wenn sich ein Benutzer mit einem Organisationskonto an der App anmeldet, sieht er die aktuelle Standardgrundkarte der Organisation in diesem Projekt. Wenn sich der Benutzer abmeldet, wird die World Topographic-Karte von Esri angezeigt.
Mit den folgenden Eigenschaften wird eine in einem Projekt zu verwendende Karte angegeben:
Eigenschaft | Beschreibung | Feldtyp |
---|---|---|
type | WebMap, MMPK, VTPK oder TPK Wenn das Feld den Wert NULL aufweist, wird die World Topographic-Karte von Esri verwendet. | Zeichenfolge |
itemId | Die Element-ID der Karte | Zeichenfolge |
useDefaultBasemap | "true" (Standard) oder "false" | Boolesch |
Projektautoren können das Standardverhalten überschreiben, indem sie eine beliebige Online- oder Offline-Karte auswählen. Wenn useDefaultBasemap auf "false" eingestellt ist und das Feld itemId den Wert NULL enthält, wird im Projekt die World Topographic-Karte von Esri verwendet.
Im folgenden Beispiel wird eine erforderliche Webkarte gezeigt, die nur für den Benutzer verfügbar ist, der sie heruntergeladen hat:
{
"basemap":{
"type":"WebMap",
"itemId":fae788aa91e54244b161b59725dcbb2a,
"useDefaultBasemap":false,
"required":true,
"zoomLevel":null
}
}
Wenn auf einer Karte im Projekt den Benutzern die zuvor übermittelten Daten angezeigt werden sollen, können Sie eine Webkarte konfigurieren, die die Projektdaten enthält, und sie als Grundkarte festlegen.
- Die Webkarte muss mindestens die gleichen Layer wie das Projekt enthalten. Sie kann auch weitere Layer enthalten.
- Die in der Webkarte definierte Symbolisierung wird zum Symbolisieren der gesendeten Features verwendet.
- Auf dem Gerät erfasste Daten, die nicht gesendet wurden, werden mit der QuickCapture-Standardsymbolisierung symbolisiert. Punkte werden z. B. mit dem blauen Marker symbolisiert.
Hinweis:
Nur Karten mit dem Web Mercator-Raumbezug werden unterstützt.
Datenquellen
Mit den folgenden Eigenschaften wird ein Feature-Layer in einem Projekt identifiziert:
Eigenschaft | Beschreibung | Feldtyp |
---|---|---|
dataSourceId | Eine eindeutige Zahl, die von QuickCapture dem Projekt zugewiesen wird, um den Layer im Array zu identifizieren. Dies ist nicht der Index des Layers im Feature-Service. Ein Projekt kann über Layer aus unterschiedlichen Feature-Services verfügen. | Integer |
featureServiceItemId | Die Element-ID des Feature-Service, der den Layer enthält. | Zeichenfolge |
URL | Die URL für den REST-Endpunkt des Feature-Layers (…/FeatureServer/0). Dies muss die vollständige URL sein, die den Layer-Index umfasst. | Zeichenfolge |
In der Eigenschaft dataSource können ein oder mehrere Datenquellen aufgelistet werden. Im folgenden Beispiel sind zwei Layer aufgelistet, die aus zwei unterschiedlichen Feature-Services stammen:
{
"basemap":{
},
"dataSources":[
{
"featureServiceItemId":"1f683747c06c4a7e9843a477b2ab41e0",
"dataSourceId":0,
"url":"https://services1.arcgis.com/e7dVfn25KpfE6dDd/arcgis/rest/services/LayerOne/FeatureServer/0"
},
{
"featureServiceItemId":"2b313747c06c4a7e9843a477b2ab41e0",
"dataSourceId":1,
"url":"https://services1.arcgis.com/b45KpfE6dEf121/arcgis/rest/services/LayerTwo/FeatureServer/1"
}
],
"itemId":"",
"preferences":{
},
"templateGroups":[
],
"userInputs":[
],
"version":""
}
Voreinstellungen
Die folgenden Eigenschaften gelten für das Projekt oder alle in einem Projekt erfassten Datensätze.
Eigenschaft | Beschreibung | Feldtyp |
---|---|---|
backgroundColor | Die Projekthintergrundfarbe als HTML-Dezimalwert. | Zeichenfolge |
splitScreen | Zeigt die Schaltflächen und Karte nebeneinander an. | Boolesch |
horizontalAccuracyWarning | Ein Dezimalwert in Metern, der einen empfohlenen oberen Schwellenwert für eine ausreichende horizontale Genauigkeit definiert. Mit dieser Eigenschaft wird die Farbe für die Anzeige der horizontalen Genauigkeit auf der Projektseite geändert. Der maximal zulässige Wert für diese Eigenschaft beträgt 999 Meter. | Dezimalzahl |
horizontalAccuracyError | Ein Dezimalwert in Metern, der einen erforderlichen oberen Schwellenwert für eine ausreichende horizontale Genauigkeit definiert. Mit dieser Eigenschaft wird verhindert, dass der Benutzer Datensätze oder Stützpunkte erfasst, wenn der Schwellenwert überschritten wird. Der maximal zulässige Wert für diese Eigenschaft beträgt 999 Meter. | Dezimalzahl |
allowEditLocation | Zulassen, dass die Position eines Punktes innerhalb einer gewissen Zeitspanne nach der Erfassung aktualisiert wird. | Boolesch |
distanceThreshold | Die minimale Bewegungsentfernung in Metern vom letzten erfassten Stützpunkt oder Punkt, bevor ein neuer Stützpunkt oder Punkt erfasst werden kann. Die Standardentfernung beträgt 10 Meter. | Dezimalzahl |
undoThreshold | Die Zeit in Sekunden nach der Erfassung, in der Datensätze gelöscht werden können oder in der ihre Position aktualisiert werden kann. | Dezimalzahl |
adminEmail | Gibt den Empfänger der von der mobilen App generierten Dateien für die Datenwiederherstellung an. | Zeichenfolge |
coordinateNotationFormat | Legt das Format der Koordinatenschreibweise für die Anzeige in der mobilen App fest. Folgende Werte werden unterstützt: UTM, USNG, MGRS, DD, DDM und DMS. Die Standardeinstellung lautet DD. | Double |
Für horizontalAccuracyWarning und horizontalAccuracyError können Schwellenwerte festgelegt werden; jedoch muss der Wert von horizontalAccuracyWarning niedriger als der Wert von "horizontalAccuracyError" sein. Wenn Sie z. B. eine empfohlene horizontale Genauigkeit von 10 Metern und eine erforderliche horizontale Genauigkeit von 30 Metern festlegen und das Gerät eine Genauigkeit von 20 Metern zurückgibt, wird eine Warnung angezeigt. Wenn das Gerät eine Genauigkeit von 40 Metern zurückgibt, können Sie keine Datensätze erfassen.
Im folgenden Beispiel sind ein grauer Hintergrund, eine empfohlene horizontale Genauigkeit von 10 Metern, kein Entfernungsschwellenwert und die Administrator-E-Mail-Adresse quickcapture@esri.com festgelegt:
{
"basemap":{
},
"dataSources":[
],
"itemId":"",
"preferences":{
"splitScreen":false,
"backgroundColor":"#f3f3f4",
"horizontalAccuracyError":null,
"horizontalAccuracyWarning":10,
"distanceThreshold":null,
"undoThreshold":10,
"adminEmail":"quickcapture@esri.com"
},
"templateGroups":[
],
"userInputs":[
],
"version":""
}
Hinweis:
In Dezimalwerten muss ein Punkt als Dezimaltrennzeichen verwendet werden, und Tausendertrennzeichen sind nicht zulässig. Kommas werden im JSON-Editor nicht akzeptiert.
Vorlagengruppen
Mit den folgenden Eigenschaften wird definiert, wie eine Gruppe von Schaltflächen in einem Projekt angezeigt wird. Für jede Gruppe von Schaltflächen können unterschiedliche Eigenschaften verwendet werden.
Eigenschaft | Beschreibung | Feldtyp |
---|---|---|
name | Der Name der Gruppe | Zeichenfolge |
label | Die Beschriftung, die im Projekt für die Gruppe angezeigt wird | Zeichenfolge |
columns | Die Anzahl der Spalten in der Gruppe | Integer |
columnSpacing | Der Abstand zwischen den Spalten | Dezimalzahl |
rowSpacing | Der Abstand zwischen den Zeilen | Dezimalzahl |
backgroundColor | Die Hintergrundfarbe der Gruppe als HTML-Hexadezimalwert | Zeichenfolge |
outlineColor | Die Umrissfarbe der Gruppe als HTML-Hexadezimalwert | Zeichenfolge |
expanded | Der Standardwert lautet "true". | Boolesch |
labelColor | Die Farbe der Gruppenbeschriftung als HTML-Hexadezimalwert | Zeichenfolge |
Vorlagen
Mit den folgenden Eigenschaften wird ein Feature-Layer identifiziert, der einen Bezug zu einer Schaltfläche aufweist:
Eigenschaft | Beschreibung | Feldtyp |
---|---|---|
id | Die UUID für die Schaltfläche | Text |
dataSourceId | Referenziert den Ziel-Layer, in dem Daten gespeichert werden. Die ID gibt die Datenquelle im Datenquellen-Array an. | Integer |
captureInfo
Mit den folgenden Eigenschaften wird angegeben, wie Daten erfasst werden:
Eigenschaft | Beschreibung | Feldtyp |
---|---|---|
exclusivityGroup | Ein Wert, der eine exklusive Gruppe beschreibt. Alle Vorlagen mit demselben Wert werden in einer Gruppe platziert, für die "exclusive" auf "true" festgelegt ist. Wenn dieser Wert festgelegt ist, kann immer nur eine Schaltfläche mit dem Wert aktiv sein. | Text |
type | "esriGeometryPoint", "esriGeometryPolyline" oder "esriGeometryPolygon" | Zeichenfolge |
continuous | Ist für Linien und Polygone immer "true" | Boolesch |
editMap | Optionen für die Kartenbearbeitung. Sie können festlegen, dass die Karte nach der Erfassung angezeigt wird (Standardwert ist "false"), den Kartentitel anpassen (Standardwert ist NULL) oder den Kartenhinweis anpassen (Standardwert ist NULL). | Zeichenfolge |
displayInfo
Die folgenden Eigenschaften geben an, wie eine Schaltfläche dargestellt wird:
Eigenschaft | Beschreibung | Feldtyp |
---|---|---|
label | Die Beschriftung auf der Schaltfläche | Zeichenfolge |
shape | Rechteck, abgerundet oder Kreis | Zeichenfolge |
size | "Small", "medium", "large", "xlarge" oder "xxlarge" | Zeichenfolge |
color | Die Farbe des Schaltflächenhintergrunds als HTML-Hexadezimalwert | Zeichenfolge |
outlineColor | Die Farbe des Schaltflächenumrisses als HTML-Hexadezimalwert | Zeichenfolge |
outlineWidth | Die Stärke des Schaltflächenumrisses | Dezimalzahl |
labelColor | Die Farbe der Schaltflächenbeschriftung als HTML-Hexadezimalwert | Zeichenfolge |
labelFontSize | Die Schriftgröße für die Schaltflächenbeschriftung | Integer |
labelFontWeight | Fett oder normal | Zeichenfolge |
shadowColor | Wenn kein Wert angegeben ist, wird der von der Gruppe verwendete backgroundColor-Wert verwendet. Das bedeutet, dass der Schatten nicht sichtbar ist. | Zeichenfolge |
image | Das Bild, das mit der Schaltfläche im PNG-, JPG- oder SVG-Format angezeigt werden soll. Alle Bilder werden als Ressourcen des Elements im Bildordner gespeichert. | Zeichenfolge |
fieldInfos
Die folgenden Eigenschaften geben die Attributinformationen an, die beim Tippen auf eine Schaltfläche in den Feature-Service eingegeben werden. In der Regel verwendet ein Projektautor zum Auffüllen der Felder des erfassten Datensatzes vordefinierten Text oder Feldvariablen.
Eigenschaft | Beschreibung | Feldtyp |
---|---|---|
fieldName | Der Name des Feldes | Zeichenfolge |
value | Kann jede der in diesem Thema aufgeführten Eigenschaften enthalten. | Zeichenfolge |
cameraInfo
Die folgenden Eigenschaften geben an, wie Fotos oder Videos in einem Projekt erfasst und gespeichert werden können. Wenn Sie das Erfassen von Fotos für eine Schaltfläche aktivieren, ist das Foto standardmäßig immer erforderlich. Sie können die Aufnahme von Fotos als optional festlegen, indem Sie die Eigenschaft required auf den Wert "false" und minMedia auf 0 festlegen. Sie können die Fotoqualität auch durch eine Änderung der Eigenschaft imageSize festlegen. (Die maximale Länge von Videos beträgt standardmäßig 10 Sekunden.)
Eigenschaft | Beschreibung | Feldtyp |
---|---|---|
mode | None (Standard): Mit dem Feature oder Video sind keine Fotos verknüpft. Automatic: Das Foto wird ohne Bestätigung durch den Benutzer aufgenommen, sobald die Schaltfläche ausgewählt wird. Manual: Die Kameravorschau wird angezeigt, und die Aufnahme von Fotos wird durch den Benutzer gesteuert. | Zeichenfolge |
imageSize | Small (320 Pixel auf der längsten Kante), medium (Standardwert, 640 Pixel auf der längsten Kante), large (1.280 Pixel auf der längsten Kante) oder unrestricted (keine Größenbeschränkung) Wird die Bildgröße von der App angepasst, bleibt das Seitenverhältnis des aufgenommenen Bildes erhalten. | Zeichenfolge |
required | "true" (Standard) oder "false" | Boolesch |
captureVideo | "true" oder "false" (Standard) | Boolesch |
capturePhoto | "true" (Standard) oder "false" | Boolesch |
maxMedia | Maximale Anzahl an Fotos oder Videos, die von einer Schaltfläche aufgenommen werden. Es sind maximal 5 Fotos und 1 Video zulässig. | Integer |
minMedia | Minimale Anzahl an Fotos oder Videos, die von einer Schaltfläche aufgenommen werden. | Integer |
Im folgenden Beispiel wird ein optionales Foto ohne Größeneinschränkung ohne Bestätigungsvorschau aufgenommen:
{
"cameraInfo": {
"mode": "automatic",
"imageSize": "unrestricted",
"required": false,
"captureVideo": false,
"capturePhoto": true,
"maxMedia": 1,
"minMedia": 0
},
notificationsInfo
Mit den folgenden Eigenschaften werden die Benachrichtigungen für ein Projekt konfiguriert. Derzeit werden nur Benachrichtigungen in Form von Webhooks unterstützt.
Eigenschaft | Beschreibung | Feldtyp |
---|---|---|
id | Eindeutige ID des Webhooks (im Rahmen des Projekts) | Zeichenfolge |
name | Name des Webhooks | Zeichenfolge |
active | "true" oder "false" (Standard) | Boolesch |
created | Datum und Uhrzeit der Webhook-Erstellung | Datum |
modified | Datum und Uhrzeit der letzten Änderung am Webhook | Datum |
events | Ereignistyp, der den Webhook auslöst. Es wird nur das Ereignis addData unterstützt. | Zeichenfolge |
targetLayerUrl | Feature-Service-Layer (einschließlich Layer-Index), mit dem der Webhook konfiguriert wurde. Ereignisse vom Typ addData werden durch Aktualisierungen an diesem Layer ausgelöst. | Zeichenfolge |
webhookUrl | Webhook-URL, an die die Payload gesendet wird | Zeichenfolge |
includePortalInfo | "true" (Standard) oder "false" | Boolesch |
includeProjectInfo | "true" (Standard) oder "false" | Boolesch |
includeServiceRequest | "true" (Standard) oder "false" | Boolesch |
includeServiceResponse | "true" (Standard) oder "false" | Boolesch |
Im folgenden Beispiel ist ein einzelner Webhook gezeigt, jedoch können in einem Projekt auch mehrere Webhooks konfiguriert werden:
"notificationsInfo": {
"webhooks": [
{
"active": true,
"created": 1502880915000,
"events": [
"addData"
],
"id": "ByCjvHpPz",
"includePortalInfo": true,
"includeProjectInfo": true,
"includeServiceRequest": true,
"includeServiceResponse": true,
"includeUserInfo": true,
"modified": 1502881754000,
"name": "Display name",
"targetLayerUrl": "https://<serviceurl including layer index>",
"webhookUrl": "https://<webhookserviceurl>"
}
]
}
Feldvariablen
Wenn Sie diese Variablen im JSON-Editor verwenden, müssen Sie den Variablennamen im Format ${variable_name} eingeben. Im folgenden Beispiel wird die Variable username einem Feld mit dem Namen NameOfUser zugewiesen:
"fieldInfos": [
{
"fieldName": "NameOfUser",
"value": "${username}"
},
Benutzereingabevariable
Für die Variable userInput wird vom App-Benutzer ein Wert angegeben; sie kann auf eine oder mehrere Schaltflächen in einem Projekt angewendet werden. Der Wert wird vom App-Benutzer eingegeben. Der Projektautor muss jedoch die Schaltflächen und Felder definieren, auf die die Variable angewendet wird.
In der Projekt-JSON werden Benutzereingaben im userInputs-Array definiert und dann mit der id-Eigenschaft von "fieldInfos" referenziert.
Eigenschaft | Beschreibung | Feldtyp |
---|---|---|
Id | Die eindeutige ID der Benutzereingabe | Zeichenfolge |
label | Die Beschriftung wird in der mobilen App angezeigt, um den Wert zu beschreiben, dessen Eingabe durch den Endbenutzer erwartet wird. Die Beschriftung kann z. B. "RouteNo", "CostCenter" oder "RouteNo-CostCenter" lauten. | Zeichenfolge |
fieldType | Der Typ des Feldes, in das der Wert der Benutzereingabe geschrieben werden kann. Die Optionen sind auf esriFieldTypeString, esriFieldTypeDouble und esriFieldTypeInteger beschränkt. | Zeichenfolge |
required | Legt fest, ob der Endbenutzer der mobilen App den Benutzereingabewert eingeben muss, bevor auf eine Schaltfläche getippt werden kann (Projektmodus), oder erst eingeben kann, nachdem auf eine Schaltfläche getippt wurde (Schaltflächenmodus). | Boolesch |
domain | Steuert die Benutzereingabe und ist auf einen numerischen Bereich (range), eine Liste vordefinierter Werte (codedValue) oder die Texteingabe mit optionaler Verwendung einer Eingabemaske (userDefined) beschränkt. | Zeichenfolge |
mode | Steuert, ob der Benutzer beim Starten des Projekts (project) oder beim Tippen auf eine Schaltfläche (button) zur Eingabe aufgefordert wird. | Zeichenfolge |
multiline | Ermöglicht die Eingabe mehrerer Textzeilen. Dies ist nur anwendbar, wenn domain auf "userDefined" festgelegt ist. | Boolesch |
autoCompleteMaxEntries | Gibt die Anzahl der vom Benutzer eingegebenen Werte an, die für eine Projekt-Benutzereingabe gecacht werden. | Integer |
showEvent | Steuert, ob das Dialogfeld für Schaltflächen-Benutzereingaben zu Beginn oder am Ende der Datensatzerfassung angezeigt wird. Die Optionen lauten "onStart" und "onEnd". Die Standardeinstellung ist "onEnd". Dies ist nur anwendbar, wenn domain auf "userDefined" festgelegt ist. | Zeichenfolge |
showScanner | Steuert, ob der Barcode-Scanner in der Benutzereingabe angezeigt wird. Der Standardwert ist "false". Dies ist nur anwendbar, wenn domain auf "userDefined" festgelegt ist. | Boolesch |
dateTime | Steuert die Eingabe von Datum und Zeit. Dies ist nur anwendbar, wenn domain auf "userDefined" festgelegt ist. Kann auf einen der folgenden Werte beschränkt werden: "defaultValue", "displayTime", "maxValue" und "minValue." | Datum |
Informationen darüber, wann die einzelnen Modi verwendet werden sollten, finden Sie unter Projekt-Benutzereingabevariable und Schaltflächen-Benutzereingabevariable.
Es wird empfohlen, Domänen im Feature-Service zu verwalten. Der Web Designer liest Domäneninformationen direkt aus dem Feature-Service, um die Benutzereingabe zu erstellen. Die Domäneninformationen werden nicht automatisch in den JSON-Code des Projekts geschrieben.
Die mobile App liest Domäneninformationen direkt aus dem Feature-Service und speichert sie lokal auf dem Gerät. Wenn Sie Domänenwerte im Feature-Service hinzufügen oder ändern, müssen Sie das Projekt erneut speichern, damit der Benutzer zum Aktualisieren des Projekts aufgefordert wird und die Änderungen für ihn angezeigt werden.
Vorsicht:
Projektautoren können Domäneninformationen manuell im JSON-Code des Projekts definieren. Hierdurch werden alle aus dem Feature-Service gelesenen Informationen überschrieben. Der Autor muss sicherstellen, dass alle definierten Werte innerhalb der Beschränkungen der im Feature-Service definierten Werte liegen. Eine manuelle Definition im JSON-Code kann beispielsweise sinnvoll sein, wenn Sie im Projekt eine Teilmenge codierter Werte aus einer weitaus umfangreicheren Liste im Feature-Service definieren möchten.
Im folgenden Beispiel wird gezeigt, wie eine Benutzereingabe für eine range-Domäne definiert wird, um die Dateneingabe auf eine Zahl zwischen 1 und 100 zu beschränken:
{
"userInputs":[
{
"autoCompleteMaxEntries":5,
"id":"001",
"label":"Enter route number",
"fieldType":"esriFieldTypeInteger",
"required":true,
"mode":"project",
"domain":{
"type":"range",
"name":"route no",
"range":[
1,
100
]
}
}
]
}
Im folgenden Beispiel wird gezeigt, wie eine Benutzereingabe für eine codedValue-Domäne definiert wird, um die Dateneingabe auf die Auswahl von einem von drei Werten zu beschränken:
{
"userInputs":[
{
"autoCompleteMaxEntries":5,
"id":"001",
"label":"Enter class",
"fieldType":"esriFieldTypeString",
"required":true,
"mode":"project",
"domain":{
"type":"codedValue",
"name":"Class",
"codedValues":[
{
"name":"Principle",
"code":"Principle"
},
{
"name":"Classified (Non-principle)",
"code":"Classified"
},
{
"name":"Unclassified",
"code":"Unclassified"
}
]
}
}
]
}
Im folgenden Beispiel wird gezeigt, wie eine Text-Benutzereingabe vom Typ "userDefined" definiert wird, um das Scannen eines QR-Codes am Beginn der Erfassung einer Zeile zu ermöglichen:
{
"userInputs":[
{
"id":"001",
"label":"Scan QR code",
"fieldType":"esriFieldTypeString",
"required":true,
"mode":"button",
"domain":{
"type":"userDefined",
"name":"line identifier",
"multiline":false,
"showScanner":true,
"showEvent":"onStart"
"hint":"Scan QR code or type the identifier of the line to be captured"
}
}
]
}
Im folgenden Beispiel wird gezeigt, wie eine Benutzereingabe für eine userDefined-Domäne definiert wird, um die Eingabe eines Datums zwischen Juni und Dezember 2022 zu ermöglichen:
{
"userInputs":[
{
"id":"001",
"label":"Enter date",
"fieldType":"esriFieldTypeDate",
"required":true,
"mode":"button",
"domain":{
"type":"userDefined",
"name":"followup date",
"multiline":false,
"hint":"Enter date between June and December 2022",
"dateTime": {
"defaultValue": "${captureTime}",
"displayTime": true,
"maxValue": "2022-06-01T00:00:00.000Z",
"minValue": "2022-12-31T24:59:00.000Z"
}
}
}
]
}
Im folgenden Beispiel wird gezeigt, wie eine Benutzereingabe für eine userDefined-Domäne definiert wird, um die Dateneingabe auf vierstellige Routen-ID zu beschränken:
{
"userInputs":[
{
"id":"001",
"label":"Enter route number",
"fieldType":"esriFieldTypeString",
"required":true,
"mode":"button",
"domain":{
"type":"userDefined",
"name":"route no",
"inputMask":"9999",
"multiline":false,
"hint":"Enter a four digit route id"
}
}
]
}
Nachdem userInput definiert wurde, kann die Benutzereingabe vom Projektautor für die Verwendung in einem Feld zugewiesen werden. Im folgenden Beispiel wird userInput mit der ID 001 zum Auffüllen eines Feldes mit dem Namen routeNo verwendet:
{
"fieldInfos":[
{
"fieldName":"routeNo",
"value":"${userInput:001}"
}
]
}
Eingabemaske
In einer Eingabemaske wird das Format für die Dateneingabe mit Zeichen und Symbolen als Teil einer Benutzereingabevariable definiert. Wenn Sie eine Eingabemaske auf eine Benutzereingabevariable anwenden, müssen die vom Benutzer eingegebenen Werte dem spezifischen Muster entsprechen, das von der Eingabemaske definiert wird.
Um eine Eingabemaske auf Ihre Benutzereingabevariable anzuwenden, definieren Sie die Maske in der Eigenschaft userInputs.domain.inputMask.
Eine Liste aller Masken und Beispiele, die auf Benutzereingabevariablen angewendet werden können, finden Sie unter Eingabemasken.
Positionsfreigabe
Mit den folgenden Eigenschaften wird der Positionsfreigabe-Layer identifiziert:
Eigenschaft | Beschreibung | Feldtyp |
---|---|---|
enabled | Die Nachverfolgung für ein Projekt aktivieren. Der Standardwert ist "false". | Boolesch |
required | Zum Verwenden des Projekts muss die Nachverfolgung aktiviert sein. Der Standardwert ist "false". | Boolesch |
lastKnownLocationsUpdateInterval | Aktualisierungshäufigkeit (in Sekunden) des letzten bekannten Positions-Layers. Der Standardwert ist 60 Sekunden. Der Mindestwert beträgt 5 Sekunden. | Dezimalzahl |
tracksUploadInterval | Aktualisierungshäufigkeit (in Sekunden) des Tracks-Layers. Die Standardeinstellung ist -1 (deaktiviert). Alternativ können Sie die Option auf 600 Sekunden festlegen. | Dezimalzahl |
tracksCategory | Definiert den Wert, der in das Kategoriefeld des Tracks-Layers geschrieben wird. Es kann sich um den Projektnamen, einen festen Wert oder einen Wert aus einer Projekt-Benutzereingabe handeln. Standardmäßig wird der Projektname verwendet. | Text |
lastKnownLocationsCategory | Definiert den Wert, der in das Kategoriefeld des Layers mit den letzten bekannten Standorten geschrieben wird. Es kann sich um den Projektnamen, einen festen Wert oder einen Wert aus einer Projekt-Benutzereingabe handeln. Standardmäßig wird der Projektname verwendet. | Text |
Im folgende Beispiel ist zu sehen, dass die Positionsfreigabe aktiviert ist, jedoch nicht für die Verwendung des Projekts erforderlich ist. Der letzte bekannte Standort wird alle 60 Sekunden aktualisiert, Tracks werden alle 600 Sekunden aktualisiert. In das Kategoriefeld des Tracks-Layers und des Layers mit den letzten bekannten Standorten wird der Projektname geschrieben.
{
"tracking": {
"enabled": true,
"required": false,
"lastKnownLocationsUpdateInterval": 60,
"tracksUploadInterval": 600,
"tracksCategory": "${projectName}",
"lastKnownLocationsCategory": "${projectName}"
}
}