Before the June 2025 update to AGOL I had successfully developed a way of displaying multiple labels for the same point location showing different attributes for bird territory analysis. This would show a simple label for species, and then a different label (using some arcade and returning text characters) for bird activity. I followed standard ornithology notation, so species would be a two letter code and then activity would be e.g. a circle around the code for singing or a double underline for alarm calling. Example shown below
These had to be different labels, to avoid having to catch for every possible combination of species and activity, but the system worked very nicely. Since last month's update the symbols now totally obstruct one another. So every map that I had using this method no longer displays correctly. If I delete the top label, then the second one shows through and vice versa, but seemingly because the labels are located in the same place they now obscure one another totally (this isn't a case of partial obscurity, having tested it, it seems two labels in the same location will deliberately only display the top one). Same point shown below:
I can't really see the reason for this change, so ideally I'd like it returning to how it was so the multiple maps I already have in this style display as they used to. But if that isn't going to happen I'd like a suggestion as to how I might work around it.
I have never used it, and are also not much of an AGOL user, so can't comment on whether it would work there, but it sounds to me you may wish to use ArcGIS Dictionary Symbology:
https://pro.arcgis.com/en/pro-app/latest/help/mapping/layer-properties/dictionary-renderer.htm
https://github.com/Esri/dictionary-renderer-toolkit
Although a lot of the documentation and the initial usage was geared to military mapping and symbology, you can actually use it for custom symbology as well in more recent versions of Pro.
Here's a blog post documenting how to create a "custom" dictionary:
Esri developers, please go back to the original point labeling and focus more attention of polygon labeling. We need stacked (dynamically placed, not multi line texts coded in Arcade for example) labels and placement locations other than "center" available. Thank you for your attention.
Are you able to share your map and I can take a look. You can pop it into a group and invite russell_jsapi.
Thanks!
@RussRoberts I have added you to a group and shared a sample map. You should be able to see the 3 label classes, and note if you remove the top one, or skew it;s position that the one underneath becomes visible. Last week they all used to draw together
This is with the deconfliction strategy bring dynamic and now in cases where 1 label class conflicts with another feature class you will no longer lose all labels on that feature.
2 workaround you can do that will set the deconfliction strategy to none.
In Pro
- Set the placement to a position that is not the Best Placement.
- Under the conflict resolution make sure this option is checked on
You can also use ago-assistant and adjust the JSON and change the deconflictionstrategy from dynamic to this.
"deconflictionStrategy": "none",
We are working towards exposing these deconfliction options in the next update.
Russ,
Understood and thanks for the workaround. I trialled it and it does work. It seems like the deconfliction parameter doesn't even exist in the JSON of maps created before the last update though. I can manually add it in and it does respect it...I'm going to need to find a way of doing this via script though, as I often have 50 layers with 3 label classes per map to change, unless there is a way of turning the option off for the whole map?
Unfortunately its currently not possible to do this as a bulk action in Map Viewer or in Pro.
Just as an update to this we were able to get the deconfliction to be able to stack the classes and retain the deconfliction improvements when multiple classes between different features conflict with one another.
This issue was actually logged as a Bug Internally after the Release. This is currently being reviewed by our team. If you have a case with Technical support, we can attach the bug to your case for tracking purpose.