ThinkGeo.com    |     Documentation    |     Premium Support

WPF control and World Map Kit?

I've got an app that uses the v4 Windows Forms control, and I'm considering switching to the WPF control.


The app currently uses the map data and loading/styling code (the WorldMapKitRenderLayer class) from the World Map Kit. Can this code be made to work with the WPF control? Are there plans to update the code included with the World Map Kit to be compatible with the WPF control?


 



John,



I tested the WorldMapKitRenderLayer in Wpf Desktop Edition and it works fine; here is the code I tested:

Map1.MapUnit = GeographyUnit.DecimalDegree;
Map1.CurrentExtent = new RectangleShape(-133.2515625, 89.2484375, 126.9046875, -88.290625);

WorldMapKitRenderLayer worldMapKitRenderLayer = new WorldMapKitRenderLayer(@"D:\MapData\WorldMapKit\");
worldMapKitRenderLayer.LoadLayers();

LayerOverlay worldMapKitRenderLayerOverlay = new LayerOverlay();
worldMapKitRenderLayerOverlay.Layers.Add(worldMapKitRenderLayer);
Map1.Overlays.Add(worldMapKitRenderLayerOverlay);

Map1.Refresh();



Thanks and let me know if you have anymore queries,

Howard



Thanks for your response, Howard.


It looked to me like the demo programs included with the WPF control used Overlay classes derived from TileOverlay, which (I guess) is  a new class in the WPF package. It looks to me like most or all of the UI responsiveness benefit of the WPF control comes from the new tiled rendering mode, which allows the user to pan or zoom the map without waiting for a complete redraw.


If I use the World Map Kit rendering code more-or-less as-is (per your example), without the involvement of the TileOverlay and related new classes, will the map still use the new tiled rendering mode? Or does it work like the old Windows Forms control, drawing the whole map in one big slow chunk?


 


 



John, 
  
 That’s exactly right. TileOverlay is a new class which enhances the user experience a lot. 
  
 TileOverlay is filled with tiles while tile is responsible for rendering. I’m not quite understood what you mean by “without the involvement of the TileOverlay”. TileOverlay maintains the previous rendering mode if you set TileType to SingleTile. But we recommend using the default setting for your world map kit rendering. Or do you want to write a new WorldMapKitOverlay which inherits the advantage of the TileOverlay? 
  
 May be I misunderstand your queries; could you please explain your requirement more specifically?  
  
 Thanks, 
 Howard