Symbols with Images not displaying - Layer Renderer

1728
12
07-29-2019 03:21 AM
YashvitNaik
New Contributor III

Hi,

I am using the current 100.5.0 version of Esri SDK for iOS, We have a Service Url from which layers are loaded, Most of the layers are of type 'esriGeometryPoint' and have multiple symbols under the renderers.

The issue here is that, the symbols for which an image is uploaded don’t get drawn on the map, the other symbols with default styles like, 'esriSMSCircle' or esriSLSSolid’ show up fine as well as the label shows up without any hitch.

If I override the Symbols with a simple Renderer (described below), the layers get drawn appropriately.

SimpleLineSymbol symbol = new SimpleLineSymbol {    

           Color = Color.Blue,

           Width = 2,

          Style = SimpleLineSymbolStyle.Solid

};

featureLayer.Renderer = new SimpleRenderer(symbol);

Hence all the Symbols which have ‘ImageData’ in it won’t get plotted i.e the ones for which images(png, jpg) have been uploaded to. Please find attached the Layer sample. 

0 Kudos
12 Replies
Nicholas-Furness
Esri Regular Contributor

Hi there. Do the layers draw properly if you add them to a web map?

Is there any chance of getting access to the layers (you can Direct Message me if you need to).

0 Kudos
MichaelDavis3
Occasional Contributor III

Sounds like it might be the same server bug that was causing my issue:

https://community.esri.com/thread/236290-invalid-renderer-json-in-runtime-geodatabase 

There is a service patch out that is supped to fix it - I haven't had time to confirm though.

0 Kudos
Nicholas-Furness
Esri Regular Contributor

It crossed my mind, but from my understanding that wouldn't impact you with the JSON you provided.

Here's the service patch info: ArcGIS (Desktop, Engine, Server) Microsoft ( R ) Windows ( R ) June 2019 Security Update Compatibili... 

You could try setting useAdvancedSymbology = false and see if that helps. Please let me know.

0 Kudos
MichaelDavis3
Occasional Contributor III

That did work for me - implemented that workaround on all our v100 apps for the time being.

Nicholas-Furness
Esri Regular Contributor

Thanks Michael. To clarify, setting useAdvancedSymbology = false allowed these images to work?

0 Kudos
MichaelDavis3
Occasional Contributor III

Sorry I'm not OP.  Was just chiming in that the issue sounds similar on the surface.

0 Kudos
Nicholas-Furness
Esri Regular Contributor

Oh boy. I guess I could have noticed that .

0 Kudos
YashvitNaik
New Contributor III

Thanks Nicholas !!  The  flag "useAdvancedSymbology = false" worked for me, But was just curious, are picture symbols not considered as 'AdvancedSymbology' ? Because the layers draw properly if you add them to a web map, without this flag, this seems to happening on only the ios and android applications (using latest xamarin sdk).

Would be great if you could throw some light on this

0 Kudos
Nicholas-Furness
Esri Regular Contributor

Hey Yashvit.

I've learnt something today.

I've confirmed that even in the case of Picture Markers, Runtime will default to requesting advanced symbology from the server which will process the images into EMF data. This then does fall under the same issue that Michael mentioned above, and you should patch your servers according to the information here: ArcGIS (Desktop, Engine, Server) Microsoft ( R ) Windows ( R ) June 2019 Security Update Compatibili... 

Sorry it took me a while to figure that out.

Nick.

P.S. Incidentally, since you're working with .NET and Xamarin, you should probably post questions here: ArcGIS Runtime SDK for .NET 

0 Kudos