Recent breaking changes

Jan 14, 2009 at 2:48 PM
Hi RoadWarrior,

Your recent checkin has significant breaking changes. It also appears that we can no longer add multiple tile layers to the map. Is that correct? I'm hoping this is an intermediate step along the path to separate MSIs for each tile layer.

Just wondering if I should hold off trying to make this latest version work with our product if there's going to be a flurry of new structural work being done.
Coordinator
Jan 14, 2009 at 6:55 PM
Yes, there is some intermediate work still being done.  This will probably be the case until we're code complete on 23 Jan.  The TileLayer class now houses the MSI with the thought that we can if we choose add multiples of these to the map.  That being said, we are still weighing the pros/cons and impact of making this change.  Performance is one concern and another is the problem of making all the current updates with the our currently singular BaseLayer and then having to multiply that times however many TileLayers are added. 

As for holding off, that's up to you.  I can only tell you that we plan to be CodeComplete for the V1.1 release by 23 Jan 09.  Until then, there can be any number of breaking changes.  This is a community project and people work on things when they have time. 
Jan 14, 2009 at 7:00 PM
No problem. Just wanted to highlight that in the latest version, we can no longer add multiple tile layers, which is an essential feature for us (and others, based on what I've seen on this forum) that was working previously, albeit without the ability to set the opacity on individual tile layers.

The version previous is working great, so I'll stick with that for now.
Coordinator
Jan 14, 2009 at 11:15 PM
I've made some updates in change set 17986 should work as before.  One change to keep in mind is that you should now add these additional TileSources to the Map.BaseLayer.Overlays collection.  This will add the URI from these sources to the BaseLayers URI. 
Jan 16, 2009 at 3:22 PM
Looks good, but I had to remove TileOverlays_CollectionChanged, as it is trying to add UIElements to the Children collection. I don't understand what, if anything that code is doing, as it seems to work without it.

The issue is the a TileSource isn't a UIElement, so the cast fails, returning null to the Children.Insert() method, which throws an exception.