J'ai un Experience Builder qui contient 6 widgets Near Me déclenchés par un widget Select. Lorsqu'un utilisateur sélectionne une parcelle avec le widget Select, les 6 Near Me se lancent et recherchent cette parcelle pour différentes couches à différentes distances pour chaque Near Me.
J'ai ensuite un script Arcade dans un widget Texte qui a toutes les sources de données de sortie des Near Me connectées et qui résume les résultats dans une belle liste - comme je chaînais 6 Near Me, c'est un peu long et pas très clair pour que les utilisateurs voient les résultats. La demande était qu'ils puissent avoir quelque chose à simplement copier/coller car ils partagent souvent ces résultats avec d'autres.
Le problème que j'ai est qu'il conserve maintenant des résultats obsolètes - donc si un utilisateur l'exécute une fois et qu'il retourne par exemple 1 zone d'espèces en péril, puis qu'il est exécuté à nouveau sur une parcelle qui n'est proche d'aucune zone d'espèces en péril, il gardera toujours ce résultat. Pour toute nouvelle couche trouvée qui n'était pas dans la recherche précédente ou pour les comptes de fonctionnalités mis à jour, il ajuste correctement la liste. Le problème concerne uniquement les couches qui ont été trouvées puis ne le sont plus.
C'est un nouveau problème et ce n'est pas quelque chose que j'avais observé lors de la création du script il y a un an. J'ai dû ajouter récemment de nouvelles couches à l'outil et c'est là que j'ai remarqué ce problème - j'ai retiré ces nouvelles couches pour voir si c'était la cause mais cela se produit avec ou sans elles. Je sais que des paramètres supplémentaires ont été ajoutés aux widgets Near Me depuis ma dernière configuration - je ne sais pas si je dois ajuster quelque chose, ou s'il y a un profil différent auquel je devrais me référer dans mon code lors de l'appel des couches ?
Toute aide ou suggestion est appréciée !
Captures d'écran et code ci-dessous.
Première exécution, tout fonctionne comme prévu :
Deuxième exécution, plus proche d'aucune de ces entités à 400m apparues lors de la première exécution, mais elles continuent d'apparaître. Les nouveaux éléments sont ajoutés comme prévu et les couches qui existaient précédemment dans la dernière liste ont bien leurs comptes mis à jour :
// Variable vide pour contenir la sortie
var output = "";
// Liste des couches de sortie dans les widgets Near Me
var layers = [
// Intersection
{name: "Propane RSMP (intersecting)", ds: "widget_545_output_proximity_7844902899039525-output"},
{name: "KRCA Regulated Areas (intersecting)", ds: "widget_545_output_proximity_7968463111736579-output"},
{name: "ORCA Regulated Area (intersecting)", ds: "widget_545_output_proximity_9598497442304497-output"},
{name: "Noise Exposure Forecast (intersecting)", ds: "widget_545_output_proximity_08644733937223714-output"},
{name: "Clean Water Act Policies Apply (intersecting)", ds: "widget_545_output_proximity_18102019944760728-output"},
{name: "ORCA Floodplain (intersecting)", ds: "widget_545_output_proximity_6147625999696148-output"},
{name: "ORCA Lake High Water Level (intersecting)", ds: "widget_545_output_proximity_8184674839954809-output"},
{name: "KRCA Floodplain (intersecting)", ds: "widget_545_output_proximity_26042425009594083-output"},
{name: "Oak Ridges Moraine Land Use Designation (intersecting)", ds: "widget_545_output_proximity_035943006449194126-output"},
{name: "Area of High Mineral Potential (intersecting)", ds: "widget_545_output_proximity_5789448905263223-output"},
{name: "Wintering Area (intersecting)", ds: "widget_545_output_proximity_5954101991213211-output"},
// Dans un rayon de 120m
{name: "Peterborough Proposed Bypass (within 120m)", ds: "widget_544_output_proximity_8750538018314757-output"},
{name: "Areas of Natural and Scientific Interest (ANSI) (within 120m)", ds: "widget_544_output_proximity_2642195208116723-output"},
{name: "Spawning Area (within 120m)", ds: "widget_544_output_proximity_9555566998953181-output"},
{name: "Species at Risk Areas (within 120m)", ds: "widget_544_output_proximity_24353840154442263-output"},
{name: "Species at Risk Observations (within 120m)", ds: "widget_544_output_proximity_7010013464426786-output"},
{name: "King's Highway (within 120m)", ds: "widget_544_output_proximity_6057019457101002-output"},
{name: "Evaluated-Provincial Wetlands (within 120m)", ds: "widget_544_output_proximity_6816526860263106-output"},
{name: "Evaluated-Other Wetlands (within 120m)", ds: "widget_544_output_proximity_007184386039725488-output"},
{name: "Non-Evaluated Wetlands (within 120m)", ds: "widget_544_output_proximity_602167485573717-output"},
{name: "Cemetery Data (within 120m)", ds: "widget_544_output_proximity_6850263073775575-output"},
{name: "Waterbody (within 120m)", ds: "widget_544_output_proximity_7204693750133947-output"},
{name: "Watercourse (within 120m)", ds: "widget_544_output_proximity_7919740128394555-output"},
{name: "Woodlands (within 120m)", ds: "widget_544_output_proximity_3919084483159394-output"},
// Dans un rayon de 300m
{name: "Aggregate Sand and Gravel (within 300m)", ds: "widget_546_output_proximity_6767129073346421-output"},
{name: "Karst (within 300m)", ds: "widget_546_output_proximity_9203990105672937-output"},
{name: "Lake Sensitivity (within 300m)", ds: "widget_546_output_proximity_3502717978959833-output"},
{name: "Aggregate (Pit) (within 300m)", ds: "widget_546_output_proximity_21222536163466876-output"},
{name: "Archaeological Sites - CONFIDENTIAL (within 300m)", ds: "widget_546_output_proximity_018261958119917487-output"},
{name: "Railway (within 300m)", ds: "widget_546_output_proximity_936438734203539-output"},
// Dans un rayon de 400m
{name: "Buildings and Lands (within 400m)", ds: "widget_570_output_proximity_7844902899039525-output"},
{name: "Encroachment (within 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;