Ich habe einen Experience Builder, der 6 Near Me-Widgets enthält, die mit einem Select-Widget ausgelöst werden. Wenn ein Benutzer mit dem Select-Widget ein Grundstück auswählt, starten die 6 Near Me-Widgets eine Suche nach verschiedenen Layern in unterschiedlichen Entfernungen für jedes Near Me.
Dann habe ich ein Arcade-Skript in einem Text-Widget, das alle Near Me-Ausgabedatenquellen verbunden hat und die Ergebnisse in einer übersichtlichen Liste zusammenfasst – da ich 6 Near Me-Widgets verknüpfe, ist die Liste ziemlich lang und für Benutzer nicht sehr übersichtlich. Die Anforderung war, dass sie etwas Einfaches zum Kopieren/Einfügen haben, da sie diese Ergebnisse oft mit anderen teilen.
Das Problem ist, dass es jetzt veraltete Ergebnisse behält – wenn ein Benutzer es einmal ausführt und zum Beispiel 1 Gebiet mit gefährdeten Arten zurückgegeben wird, und es dann erneut auf einem Grundstück ausgeführt wird, das sich nicht in der Nähe von gefährdeten Arten befindet, bleibt das eine Ergebnis erhalten. Für neu gefundene Layer, die in der vorherigen Suche nicht vorhanden waren oder aktualisierte Feature-Anzahlen gibt es eine korrekte Anpassung in der Liste. Das Problem besteht nur bei Layern, die gefunden wurden und dann nicht mehr gefunden werden.
Dies ist ein neues Problem und etwas, das ich vor einem Jahr bei der Erstellung des Skripts nicht beobachtet habe. Ich musste kürzlich einige neue Layer zum Tool hinzufügen und habe das Problem dabei bemerkt – ich habe diese neuen Layer entfernt, um zu sehen, ob sie das Problem verursachen, aber es tritt mit oder ohne sie auf. Ich weiß, dass seit meiner letzten Einrichtung zusätzliche Einstellungen zu den Near Me-Widgets hinzugefügt wurden – ich bin mir nicht sicher, ob ich etwas anpassen muss oder ob ich in meinem Code auf ein anderes Profil verweisen sollte, wenn ich die Layer aufrufe?
Jede Hilfe oder Einsicht wird geschätzt!
Screenshots und Code unten.
Erster Durchlauf, alles funktioniert wie erwartet:
Zweiter Durchlauf, keine Nähe mehr zu den 400m-Features aus dem ersten Durchlauf, aber sie werden weiterhin angezeigt. Neue Elemente werden wie erwartet hinzugefügt und Layer, die zuvor in der letzten Liste existierten, haben ihre Zählungen korrekt aktualisiert:
// Leere Variable zur Speicherung der Ausgabe
var output = "";
// Liste der Ausgabelayer in Near Me-Widgets
var layers = [
// Überschneidend
{name: "Propane RSMP (überschneidend)", ds: "widget_545_output_proximity_7844902899039525-output"},
{name: "KRCA Regulated Areas (überschneidend)", ds: "widget_545_output_proximity_7968463111736579-output"},
{name: "ORCA Regulated Area (überschneidend)", ds: "widget_545_output_proximity_9598497442304497-output"},
{name: "Noise Exposure Forecast (überschneidend)", ds: "widget_545_output_proximity_08644733937223714-output"},
{name: "Clean Water Act Policies Apply (überschneidend)", ds: "widget_545_output_proximity_18102019944760728-output"},
{name: "ORCA Floodplain (überschneidend)", ds: "widget_545_output_proximity_6147625999696148-output"},
{name: "ORCA Lake High Water Level (überschneidend)", ds: "widget_545_output_proximity_8184674839954809-output"},
{name: "KRCA Floodplain (überschneidend)", ds: "widget_545_output_proximity_26042425009594083-output"},
{name: "Oak Ridges Moraine Land Use Designation (überschneidend)", ds: "widget_545_output_proximity_035943006449194126-output"},
{name: "Area of High Mineral Potential (überschneidend)", ds: "widget_545_output_proximity_5789448905263223-output"},
{name: "Wintering Area (überschneidend)", ds: "widget_545_output_proximity_5954101991213211-output"},
// Innerhalb von 120m
{name: "Peterborough Proposed Bypass (innerhalb von 120m)", ds: "widget_544_output_proximity_8750538018314757-output"},
{name: "Areas of Natural and Scientific Interest (ANSI) (innerhalb von 120m)", ds: "widget_544_output_proximity_2642195208116723-output"},
{name: "Spawning Area (innerhalb von 120m)", ds: "widget_544_output_proximity_9555566998953181-output"},
{name: "Species at Risk Areas (innerhalb von 120m)", ds: "widget_544_output_proximity_24353840154442263-output"},
{name: "Species at Risk Observations (innerhalb von 120m)", ds: "widget_544_output_proximity_7010013464426786-output"},
{name: "King's Highway (innerhalb von 120m)", ds: "widget_544_output_proximity_6057019457101002-output"},
{name: "Evaluated-Provincial Wetlands (innerhalb von 120m)", ds: "widget_544_output_proximity_6816526860263106-output"},
{name: "Evaluated-Other Wetlands (innerhalb von 120m)", ds: "widget_544_output_proximity_007184386039725488-output"},
{name: "Non-Evaluated Wetlands (innerhalb von 120m)", ds: "widget_544_output_proximity_602167485573717-output"},
{name: "Cemetery Data (innerhalb von 120m)", ds: "widget_544_output_proximity_6850263073775575-output"},
{name: "Waterbody (innerhalb von 120m)", ds: "widget_544_output_proximity_7204693750133947-output"},
{name: "Watercourse (innerhalb von 120m)", ds: "widget_544_output_proximity_7919740128394555-output"},
{name: "Woodlands (innerhalb von 120m)", ds: "widget_544_output_proximity_3919084483159394-output"},
// Innerhalb von 300m
{name: "Aggregate Sand and Gravel (innerhalb von 300m)", ds: "widget_546_output_proximity_6767129073346421-output"},
{name: "Karst (innerhalb von 300m)", ds: "widget_546_output_proximity_9203990105672937-output"},
{name: "Lake Sensitivity (innerhalb von 300m)", ds: "widget_546_output_proximity_3502717978959833-output"},
{name: "Aggregate (Pit) (innerhalb von 300m)", ds: "widget_546_output_proximity_21222536163466876-output"},
{name: "Archaeological Sites - CONFIDENTIAL (innerhalb von 300m)", ds: "widget_546_output_proximity_018261958119917487-output"},
{name: "Railway (innerhalb von 300m)", ds: "widget_546_output_proximity_936438734203539-output"},
// Innerhalb von 400m
{name: "Buildings and Lands (innerhalb von 400m)", ds: "widget_570_output_proximity_7844902899039525-output"},
{name: "Encroachment (innerhalb von 400m)", ds: "widget__570outputproximity7232271423020573output"},
{name: "Power Pole Transmission (within 400m)", ds: "widget_570_output_proximity_5042122413876593-output"},
{name: "Signs (within 400m)", ds: "widget_570_output_proximity_6695595499849716-output"},
{name: "Major Traffic Generator (within 400m)", ds: "widget_570_output_proximity_2693141622377604-output"},
// Within 500m
{name: "Aggregate (Pit/Quarry) (within 500m)", ds: "widget_551_output_proximity_9757872224346482-output"},
// Within 1000m
{name: "Petroleum Well (within 1000m)", ds: "widget_744_output_proximity_18734428093124356-output"},
{name: "Abandoned Mines (within 1000m)", ds: "widget_744_output_proximity_9999940247389159-output"}
];
// Count features and build summary
for (var i in layers) {
var dsid = layers[i].ds; // Get ID of data source
var layerName = layers[i].name; // Get name of layer
var ds = $dataSources[dsid]; // Connect to actual data source
var countFeatures = Count(ds.layer); // Get count of features
// Check if count is greater than 0, if it is, add it to the list
if (countFeatures > 0) {
if (output != "") {
output += TextFormatting.NewLine;
}
output += "(" + countFeatures + ") " + layerName;
}
}
return output;