I'm using the Feature Info widget to display popup info for a couple tables, and it's giving me the error "The information for this feature could not be displayed".
The error:
The widget configuration:
The functioning popup in Map Viewer:
Similarly configured widget working in a different view (comes from the same hosted table in a different web map):
This might not be the answer, but are the non-working pop-ups created with Arcade content blocks (this is different from Arcade attribute expressions)? You mention expressions in your post, but I figured I'd ask since I've had problems displaying Arcade content blocks before with other widgets, though the result was a blank pop-up, not an error.
If you're using Arcade content blocks, try removing them and adding something "simpler" like a field list, and see if your feature info widget works then.
It's not using Arcade content blocks - just attribute expressions incorporated into a text block.
Here are the expressions used:
{expression/expr0}:
var awards = FeatureSetByName($map, "Livable Communities Grant Awards")
var districts = FeatureSetByName($map, "Met Council Districts")
// Filter for the district polygon corresponding to the district in this table
// should be a featureset with one feature
var thisDistrictFS = Filter(districts, "MCDIST = " + $feature.mcdist)
// Get the feature from the featureset
var thisDistrict = First(thisDistrictFS)
// Find award points within the district feature
var districtAwards = Intersects(awards, thisDistrict)
// Create list of the award categories
var awardTypes = []
var awardList = ""
for (var f in districtAwards) {
Push(awardTypes, f.CATEGORY)
}
// Clean up the list
awardTypes = Distinct(awardTypes)
awardTypes = Sort(awardTypes)
for (var f in awardTypes) {
awardList += awardTypes[f] + TextFormatting.NewLine
}
awardList = Replace(awardList, "TBRA", "Tax Base Revitalization Account (TBRA)")
awardList = Replace(awardList, "LCDA", "Livable Communities Demonstration Account (LCDA)")
awardList = Replace(awardList, "LHIA", "Local Housing Incentives Account (LHIA)")
awardList = Replace(awardList, "TOD", "Transit-Oriented Development (TOD)")
awardList = Trim(awardList)
return awardList{expression/expr1}:
// Convert big numbers to $1.7B, etc
var amount = $feature.lcaawardtotal
var millions = "$" + Round(amount / 1000000, 1) + "M"
var billions = "$" + Round(amount / 1000000000, 1) + "B"
var thousands = "$" + Text(amount, "#,###")
When(
amount >= 1000000 && amount < 1000000000,
millions,
amount >= 1000000000,
billions,
thousands)Incorporated into the text block:
{lcagrantsawarded} grants awarded through the following programs:
{expression/expr0}
{expression/expr1} in grants awarded since 1996