Hi all,
So I'm stuck trying to properly render a layer's cartographic line symbol using a featurelayer in JS API 3.11 from a map service (Server 10.22). So basically in the symbol property editor I select the type as a cartographic line symbol, set width to 1.75, add an arrowhead on one end. Please see the attached image on how it shows up. The problem is in the featurelayer where the line is rendered with an overly thick width with no line decorations. While in the dynamicmapservicelayer it shows as designed in ArcMap.
Any suggestions would be appreciated.
Best,
Tukang
Solved! Go to Solution.
Tuckang,
You will find that how the ArcGISDynamicMapServiceLayer and the FeatureLayer renders symbology is very different because ArcGISDynamicMapServiceLayer renders the symbology server side using ArcObjects thus it is capable of using complex cartographic symbology and the FeatureLayer renders symbology client side using API capabilities and thus is not capable of using complex cartographic symbology. This limitation is document.
"For line layers, simple line symbols are supported. If other symbols are used, the feature service converts them to a simple line symbol that best represents the original symbol. For example, a cartographic line symbol in the map document may be drawn as a simple solid line in a feature service client. If a line symbol is complex or has multiple layers, the feature service downgrades the line to best represent the original line symbol."
Tuckang,
You will find that how the ArcGISDynamicMapServiceLayer and the FeatureLayer renders symbology is very different because ArcGISDynamicMapServiceLayer renders the symbology server side using ArcObjects thus it is capable of using complex cartographic symbology and the FeatureLayer renders symbology client side using API capabilities and thus is not capable of using complex cartographic symbology. This limitation is document.
"For line layers, simple line symbols are supported. If other symbols are used, the feature service converts them to a simple line symbol that best represents the original symbol. For example, a cartographic line symbol in the map document may be drawn as a simple solid line in a feature service client. If a line symbol is complex or has multiple layers, the feature service downgrades the line to best represent the original line symbol."
Hi Robert,
Thanks for the explanation, that cleared it up for me. Going to have to revert to simple line symbols then.
Regards,
Tukang