ThinkGeo.com    |     Documentation    |     Premium Support

WpfMap rotation problems with 5.0 upgrade

 Hi,


We're attemtping to upgrade from Wpf Desktop Full Edition 4.5 to 5.0 and are having problems with map rotation using multiple layers on an existing application.  We didn't override any of the zooming or mouse events.  We made no code changes, only upgraded from the 4.5 to the 5.0 assemblies and are now seeing the following:


1)  Map rotation is being applied each time we try to drag the map.  If the user chose to rotate the map by 10 degrees it cummulatively rotates the map each time you drag and drop.  So the original rotation of 10 degrees plus two drag and drops end up with a map that's been rotated 30 degrees (for some layers, see next issue).


2)  Rotation appears to be applied to multiple layers differently.  A 10 degree rotation applied to multiple layers appears to be a 10 degree rotation on some and a 20 degree rotation on others.


3)  Map rotation is applied when zooming.  Similar to #1 above but the rotation is applied when the user zooms in or out.


4) Rotation appears to be applied to each tile as opposed to the entire map when the overlay.TileType is set to MultipleTile


Were changes made to map/layer rotation between 4.5 and 5.0?


I attached a word doc with screen shots of our map and the behavior I descrbed.


 


Thanks,


Josh


 


 



ThinkGeoWpfMapControlIssues.docx (300 KB)

Josh, 
  
 Welcome to MapSuite discussion forum. 
  
 Do you use RotationProjection to rotate your wpf map? We didn’t do any change for it from 4.5 to 5.0, if you use another way to rotate, please let me know, and I can check if it’s caused by something changes. For convenient, you can provide a simple sample code to let us easy recreate your problem,  if find the reason, your problem will be quickly resolved. 
  
 Thanks, 
 James 


Yes we’re using RotationProjection to rotate.  I’m working on a sample application now an will post it when I can repro the issue. 
  
 Is there any reason why we shouldn’t use different TileTypes across the different layers?   For example one of our layers uses TileType.MultipleTile and the other use TileType.SingleTile.

Josh, 
  
 Thanks for you mention that, once I get the sample to reproduce the issue I think will fix it soon. 
  
 About your additional question, I think different layer could have different TileType, you can try to put them to different LayerOverlay and set TileType different. 
  
 Thanks, 
 James 


Hi James,



I work with Josh and have a sample application that reproduces the Map Rotation issue described that we need your help to solve.  The sample was created with Visual Studio 2010 and Map Suite WPF Desktop Edition 5.0.0.55.  The sample app loads and displays a map of points with 0 degrees of rotation.  There is a text box at the top where you can enter an amount of rotation that will be added to the current rotation, and a button to perform the update.  To demonstrate the problem, enter 1 in the textbox and press button several time.  As more and more map rotation is added with each button click, you will see the points on the map become very distorted and scattered about the map.  Expected behavior is that the points should maintain their relative positions with each other, as the whole map is rotated as a single unit, rotated around the center point of the display.


Thank you for your help with this!


Rod



Rod, 
  
 Thanks for your sample code that make me easy to reproduce the bug and fix it. 
  
 Please get the latest version 5.0.91.0 by daily builder and try it again, 
  
 Thanks, 
 James

Hi James,


I just downloaded and ran the sample app using daily build: Wpf Desktop Edition Full 5.0.91.0.  Results are the same.  Rotation of the map causes the points to be scattered around and distorted from their original relative positions in lines as if they were put into a blender.  The more map rotation added by clicking the 'Update Map with Rotation' button in the sample app, the worse the distortion gets.  Attached is a word doc showing a few snapshots of how the arrangement of points becomes scattered more and more as the map is rotated.  If you run the sample app and click on the 'Update Map with Rotation' button, you will see this behavior.


Thanks!


Rod



Rod, 
  
 I think probably the daily builder fail to generate new code in 91, please get the 5.0.92.0 or later which I have tested and try it again. 
  
 Thanks, 
 James

James, 
  
 I tested with build 5.0.93.0 this morning and the rotation of vector data is working as expected now.  Thank you! 
  
 Rod

Rod, 
  
 I am glad it’s working with you, let me know if you have more questions. 
  
 Thanks, 
  
 James