I have over 10 points in a small area, I want to create a label that has a symbol and text component to it, and then have that offset from the real symbol via a leader line, using the Maplex engine to place it?
Essentially I'm wondering how to offset text to the side of the symbol being used as the label? I want to achieve the below. Preferably without having to convert to graphics or annotation because I have over 600 of these and don't want to have to manually place them.
Solved! Go to Solution.
You can achieve this style with Composite Callout text symbols. Here's an example of how...
"<PART position='middle'></PART><PART position='right' x_offset='5'>" + $feature.Name + "</PART>"
Click Apply to save symbol settings.
Click Apply once all leader line styles are configured.
Note that labels are not dynamically stacked if the label expression contains the composite callout part text formatting tag. You could still stack using scripting though.
Final map style:
It's already implemented an more powerful than arcmap version. Take some time to find where they move it. Like always, ESRI change the way it was done in arcmap from the background of an annotation to Callout in pro.
Here an exemple of the leader (Sorry I forgot to unselect)
Here the data for it
Like you can see, when you define you symbol, in attribute you have all the element needed to do the job.
You can make it the way you want. Arrow or not, line or dash or.... sky is the limit.
You can achieve this style with Composite Callout text symbols. Here's an example of how...
"<PART position='middle'></PART><PART position='right' x_offset='5'>" + $feature.Name + "</PART>"
Click Apply to save symbol settings.
Click Apply once all leader line styles are configured.
Note that labels are not dynamically stacked if the label expression contains the composite callout part text formatting tag. You could still stack using scripting though.
Final map style:
Jesse! Thank you so much! This is exactly what I needed.
It looks like there are 4 different coding languages you can use in the label properties > Class menu, which one are you using. Tried pasting your code in Arcade and it just interpreted it as label text, not functional code.
Hi Jesse, How would I add a background color to the text? Essentially I want to create this
That label expression uses Arcade scripting language.
If your data fields contain the '&' or '<' characters, you need to replace them in your label expression if using text formatting tags or else they will render the whole expression as text instead of interpreting the formatting tags. Here's an example to replace them dynamically in the label expression using the Arcade replace function.
"<PART position='middle'></PART><PART position='right' x_offset='5'>" + replace($feature.Name, '&', '&') + "</PART>"