Hello - I am trying to upgrade a map from a Web App to an Experience Builder. In the web app I have hyperlinks in pop-ups that are displaying correctly via arcade expression. They don't show correctly in map viewer but they show correctly in the web app. The pop ups show when you click on a parcel within a planning zone - currently what is displaying is a value within the attribute table.
However they are not showing the same way in Experience Builder, they show how they do in map viewer. I haven't found any other similar posts so any help is appreciated! I am newer at arcade and these expressions were built by my predecessor. The expression is shown below. What's currently displaying in exp. builder is all within an attribute field.
Seems like the hyperlink is formatted correctly according to this: https://support.esri.com/en-us/knowledge-base/how-to-add-multiple-hyperlinks-to-a-feature-in-arcgis-...
Solved! Go to Solution.
In the new map viewer, you have to use an Arcade element in your popup to include clickable links.
You could either split your text element into two items and put the Arcade element for the Parcel Zoning between them or replace the text element with an Arcade element, combining the different attribute expressions into a single code block.
In the new map viewer, you have to use an Arcade element in your popup to include clickable links.
You could either split your text element into two items and put the Arcade element for the Parcel Zoning between them or replace the text element with an Arcade element, combining the different attribute expressions into a single code block.
Thank you for your response! I have created the arcade element (using same expression as before) and I can't get it to actually show up in the pop up. The expression returns correctly in the element window.
You have to use the correct return type for an Arcade element. The simple replacement would look like this, assuming you only expect to get one record back for each parcel
var intersectLayer = Intersects(FeatureSetByName($map,"Park County Zoning"),Buffer($feature, -10, "feet"))
for (var f in intersectLayer){
var regs = Split(f.ZONEREGS,';')
}
return {
type : 'text',
text : regs
}
A simpler version would look like this
var intersectLayer = Intersects(FeatureSetByName($map,"Park County Zoning"),Buffer($feature, -10, "feet"))
return {
type : 'text',
text : Split(First(intersectLayer).ZONEREGS, ";|;")
}
Amazing, thank you so much for your help!