Custom TiledLayer implementation: possible to call refresh without invalidation?

01-15-2016 08:54 AM
New Contributor III


I have a custom class that implements the Esri.ArcGISRuntime.Layers.TiledLayer class to display some operational raster data on a Runtime for .NET 10.2.6 map. The layer behaves as expected when panning/zooming, however if some portion of the operational data changes I need to be able to "refresh" or redraw the visible data/tile(s).

My first thought was to use the exposed TilerLayer::Invalidate()​, however this simply clears the entire internal tile cache. What would be ideal is if I had a way to either:

a) Access the internal CoreLayer::SetTile() method and manually reset the tile that has changed with the new data


b) "Poke" the map object and get it to re-request the visible tiles using the TiledLayer::GetTileDataAsync()

The problem with the invalidation call is that it causes a flickering rather than a smooth animation like normal pan/zoom operations. Is there a way to do what I'm looking for? If not, was this intentionally left out of the public API? The latter question is pointed more towards my inclination to access the CoreLayer with reflection.



0 Kudos
0 Replies