Hi,
I'm using following JSON definition for graphics of type line:
StringBuilder labelBuilder = new StringBuilder();
labelBuilder.AppendLine("{");
labelBuilder.AppendLine("\"allowOverrun\": true ,");
labelBuilder.AppendLine("\"allowOverlapOfLabel\": \"allow\" ,");
labelBuilder.AppendLine("\"allowOverlapOfFeatureBoundary\": \"allow\" ,");
labelBuilder.AppendLine("\"allowOverlapOfFeatureInterior\": \"allow\" ,");
labelBuilder.AppendLine("\"priority\": 25 ,");
labelBuilder.AppendLine("\"labelExpressionInfo\": {");
labelBuilder.AppendLine("\"expression\": \"return $feature.Name;\"},");
labelBuilder.AppendLine("\"labelPlacement\": \"esriServerLinePlacementCenterAlong\",");
labelBuilder.AppendLine("\"multiPart\": \"labelLargest\",");
labelBuilder.AppendLine("\"symbol\": {");
labelBuilder.AppendLine("\"color\": [255,255,255,255],");
labelBuilder.AppendLine("\"haloColor\": [51,51,51,255],");
labelBuilder.AppendLine("\"haloSize\": 1.5,");
labelBuilder.AppendLine("\"font\": {\"size\": 10, \"weight\": \"bold\"},");
labelBuilder.AppendLine("\"type\": \"esriTS\"}");
labelBuilder.AppendLine("}");
The problem I have is that even by setting the "allowOverlapOfLabel" value to allow, it is hiding the labels at some zoom levels. I add two screenshots attached from the same mapview making just zoom in and zoom out. I've found that this issue is happening only when the label expression is the same, changing them to have different expressions and then they are always visible as expected. Hope this helps.
Appart from this, previously I used this link which was very useful:
JSON label class properties—ArcGIS Runtime SDK for .NET | ArcGIS for Developers
But it does not exist anymore and now there's no information regarding JSON definitions of labels.
Regards
Gonzalo