Jun 28, 2010 at 2:54 PM
Edited Jun 28, 2010 at 2:58 PM
Thank you for your reply and solution to fix the refreshing problem. And as you said, will be better if after refreshing the MSI doesn't render all the lower zoom levels, but this is less importat thing.
Just want to add some observations I've made about a pair of problems found in the control. I really don't know if, this functions I belived were incorrects, simply I'm not understanding it.
In TileSource.cs's function GetTileLayers there is a conditional I belived has no sense because _MapInstance.Layers is a enumerator of ILayer interface and there is no inheritance relationship between both interfaces; so the program never enter in the condition
and the tiles from layers others than the base one, never get be loaded. I just replace ITileSource by TileLayer (ILayer doesn't have the 'Source' property) and get the Layers shown in the map.
if (_MapInstance.Layers != null && _MapInstance.Layers.Count > 0)
foreach (ILayer me in _MapInstance.Layers)
//if (me is ITileSource)
if (me is TileLayer)
//Add additional images sources if available
//Uri uri = (me as ITileSource).GetTile(tileLevel, tilePositionX, tilePositionY);
Uri uri = (me as TileLayer).Source.GetTile(tileLevel, tilePositionX, tilePositionY);
if (uri != null) tileSources.Add(uri);
In other hand I got problems with 'TileColor' in WMS tile sources for layers (_MapInstance.Layers). If I don't want to add them as overlays of base layer the color must be transparent if I want see the layers behind.
Because we are using a different culture format for number representación in Spain, where dots are thousands separator and comma is the decimal separator, I had implicity to pass the US culture info parameter in the format string function.
Once again, thank you for your great job and help.