ESRI JS API 4.11: How to display all labels in SceneView?

402
2
05-27-2019 08:13 PM
MichalGasparovic1
New Contributor III

Hi,

currently in the middle of the process of converting the map from 3.x to 4.x for some business. The labels are super important to them and it appears, that the labeling class set for the feature layer is somehow filtering labels (probably due to some conflict detection so it's not overcrowding the map).

I have the following questions:
 - how can I force the map/scenview/labeling to label each feature regardless the scale/level/zoom/tilt ?

Thank you!

0 Kudos
2 Replies
SaschaBrunner1
Esri Contributor

Hi Michal
As you detected there is an advanced algorithm to avoid any overlap between labels (by not showing some if necessary) in SceneView. It is currently not possible to disable this deconfliction of labels


- Would you prefer that every label is shown but unreadable due to overlap?
- What are your requirements?
- Do you have some examples images what you expect?


Thanks for your feedback.

0 Kudos
MichalGasparovic1
New Contributor III

Hi Sascha, thank you for your prompt response.

That is exactly the question I've presented to the business, but they feel like it's too strict, and must somewhat admit it's probably too strict, see the following screenshot

This could easily be labeled. I think having the option to control this behavior would be great, not just limit or don't limit, but some 0-100% would be handy.

Also, I've noticed that the labels always render only after the scene has finished the ground update, and significantly later than the symbols itself. Is there any way to control this in any way?he 

FIY: I've logged the enhancement request for supporting the 'offset' on the TextSymbol3DLayer, so I wouldn't have to use labeling on feature layers, which complicates the graphics update. The symbology above was previously resolved by creating 7 points at the same location, so the sceneLayers is god-sent, but unfortunately can't use the TextSymbol3DLayer due to the 'offset' not available. So I had to switch to FeatureLayer instead of GraphicsLayer to have an access to the LabelClass, which unfortunately unnecessarily complicates other stuff that are relative easy to do with just the graphics (complicated dynamic symbols vs fixed renderer, feature updates on the feature layer rather than just graphics etc)

Thank you for getting this far with your reading. With regards

0 Kudos