ThinkGeo.com    |     Documentation    |     Premium Support

WrapDateLine WrappingMode using the WorldMapKitData

We are using the Desktop Edition of MapSuite with Winforms in C# (we are not using WPF).  I  need to be able to support Wrapping the DateLine so that the user can pan the map to either the east or west in a continuous fashion and also see lines, arcs, polygons etc which overlap the date line.   I have looked at several of the sample applications.  There is one titled "WrapDatelineMode" which use a class called "WorldMapKitWmsWpfOverlay" to set the WrappingMode.WrapDateline.  I also noticed in the documentation that there is another class called "WorldMapKitWMSWebOverlay" that seems to support this feature as well.  I assume that both of these only function with a "WMS server" that provides the maps online.  We can not use online maps.  We use the World Map Kit data on a server that we have loaded manually with the MapSuiter World Map Kit data.  In order to load the map, we have to build an overlay, which we currently define just as a LayerOverlay, containing separate layers is the "Layers" collection for each of the shapefiles in the World Map KIt data.   This LayerOverlay does not support the WrappingMode.WrapDateline. 


Is there any way to load the World Map Kit data shapefiles into an overlay that will support WrapDateLine?  Do I have to set the WrapDateLine for each layer as the World Map Kit is loaded?  Are there any samples for WrapDateLine that do not depend on the web for the map overlay?


Richard



Richard, 
  
 As I know, you only could set WrappingMode to FeatureLayer, however WorldMapKitRenderLayer is not a FeatureLayer, but you still could do it, you can find there are two properties StaticLayers 
 And DynamicLayers, those are all FeatureLayers, so you just loop through them and set WrappingMode to them, make sure you set WrappingExtent as well. 
  
 Thanks, 
 James 


James, 
  
 Thank you so much for the response.   
  
 I have been working with the WrappingMode and WrappingExtent in the WorldMapKitRenderLayer and it seems to work very well when I set these properties on each of the static and dynamic layers.   I specified -180.0 to 180.0 degrees and -90.0 to 90.0 degrees as the initial wrapping extent and now I can pan the WorldMapKitRenderLayer continuously both east and west past the dateline. 
  
 However,  I see some odd painting behavior as I pan with the date line near the edges of the window.  Sometimes it occurs with the label layers on the WorldMapKitRenderLayer but most of the time I see it with objects that we have defined in MapShapeLayers (objects such as circle, rectangle, polylines, polygons and custom markers).  As I pan towards the date line, the objects will disappear and when I pan a bit further they will reappear.    MapShapeLayer does not support these Wrapping properties so I do not have the WrapDateLine or Extent set in these layers.  Do you have any idea why it would paint some times and not others?  I am not sure but it appears to alternate between painting the objects and not painting the objects on every other pan. 
  
 Richard

Richard, 
  
 To help us solve your problem, could you provide a simple sample that can reproduce your issue? Otherwise it’s not easy to figure out what happened. 
  
 Thanks, 
 James

James,


Thank you for looking into this. 


I am not sure how to reproduce this with a simple sample right now.  Our code in this area is already fairly complex and I don't currently have the time to rewrite it into a simple solution.  I will think about this and see if I can find a way to reproduce it. 


In the meantime, I captured several snapshots from our application which  I will attach.  I do not know if they will be helpful or not but I think I have a little better idea of what might be happening.  The three snapshots were produced by panning to the west in small increments.  The first snapshot show the map with the objects (icons, circle, rectangle and labels) visible over the United States. By panning west until the next occurence of the international date line first appears to the right side of the second snapshot, the second snapshot shows the United States with no objects and the labels over an occurence of the map to the left.  The third snapshots show that the objects are now partially visible on the next occurence of the United States now appearing to the right of the international date line. 


I think the "disappearance" is actually just that as soon as the international date line moves into the visible window, all the objects (icons, circle, rectangle, and labels) are moved to the new occurence of the world even though that occurence is not yet in the visible area of the window.  I am wondering if defining the initial extent of winformsMap1 as -180 to 180 is the problem here.  However,  I can't see that defining it a 0 to 360 would be better as it would seem to shift the problem by 180 degrees.


Does any of this make sense?  Is this related to the extent defined in winformsMap1?


Richard


 



snapshot1.PNG (76.4 KB)
snapshot2.png (70.5 KB)
snapshot3.PNG (71.8 KB)

attachments



snapshot1.PNG (76.4 KB)
snapshot2.png (70.5 KB)
snapshot3.PNG (71.8 KB)

 Richard,


Thanks for you more information, I have recreated your issue in my machine, please see the attached video I take. You can open it by IE.


I have reported this issue to our development team, they will give your solution next week.


Thanks,


James



2012-06-07_0016.zip (393 KB)

James, 
  
 Do you know what the status is for this issue? 
  
 Richard

Hello Richard, 
  
 Sorry for the long time waiting, our product team are still working on it, I will post here as soon as we resolved it. 
  
 Regards, 
  
 Gary