ThinkGeo.com    |     Documentation    |     Premium Support

Blank tiles at certain zoom levels saved with negative file names

 Guys, I just started observing blank tiles are certain zoom levels.  This is using the WordlMapKitOverlay with caching on and WrappingMode set to WrapDateline.  Also, problem is observed only when panning across the dateline.  The screen capture below was taken at zoom level 8/scale 4613998.359375.  When this happens, the associated file name cached to disk is negative such as -1.png.   If I delete this cached image, it does not help.  Same image is recreated.   How do I compensate for this or even better, prevent this from happening? 


TIA.



Klaus, 
  
   I am currently looking at your case. Can you provide the main code that you are using to set the WorldMapKit on your map with the different parameters such as caching and WrappingMode? That will help me determine where the problem is. Thank you.

 Code is attached.  Please refer to the included TextFile for additional comments.



WmkRenderingBlankTiles.zip (34.8 KB)

 Wade, just to add to this.  On a Windows 7 64 bit machine, I get completely blank tiles at these custom zoom levels.  



Klaus, 
  
  Thank you for sending us your code. I passed this issue to the Wpf team. I will let you know as soon as we have a solution for you. Thank you.

Klaus, 
  
 I have recreated your problem by testing your code, I think it’s probably an known issue, you can look at another post which may has the same problem when using WrappingDataLine. 
 gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/39/aft/9334/afv/topic/Default.aspx 
  
 I will try to figure out the solution and any progress I will let you know. 
  
 Thanks, 
 James 


 Thanks for response James.  Let me know what you come up with.



Klaus, 



We made some progress today, so I update this post to you: 

 


1. I suggest you use canvas.Flush() instead of canvas.EndDrawing(), the two places are in WorldMapKitRenderLayer.cs line 2928 and 2977, because sometimes it will throw exception that leads to tile not drawn.




2. I found the mouse wheel is not symmetrical during wheel down and up, the reason is that you use custom zoomlevels so that sometimes you will zoom in two zoom levels but you couldn’t zoom out back to the original zoom level. I could provide an override method of MouseWheelCore to fix it if you want to.




3. The really problem is also caused by custom zoom levels, we should support custom zoom levels but the code may have a bug, we are still working on the solution to fix it. The normal zoom levels are designed to be perfect match for the tiles even on the board of the world, so when using WrapDataLine mode, it still can draw full tile. But if using custom zoom levels, the scale list are different, so sometimes one tile will be split by the wrapping data line, one part is black, and the other is drawn normally. 



Thanks, 

James 

 



 James, thanks for the update.  I have made changes proposed in item 1.


A for item 2, the mouse wheel issue, if you have a fix for that, please provide as well, thanks.


Thanks again  for looking into this.  



Klaus,


We have found the solution for your problem, actually it’s not a bug, when you use WrapLineMode, you can set it to FeatureLayer as well, I have updated your sample to make it works, my change is that add a method SetWrappingMode, you need to call it after LoadLayers()

        public void SetWrappingMode()

        {

            foreach (var item in staticLayers)

            {

                item.WrappingMode = WrappingMode.WrapDateline;

                item.WrappingExtent = new RectangleShape(-180, 90, 180, -90);

            }

        }


About mouse wheel issue, you can find the overriding method at gis.thinkgeo.com/Support/Dis...fault.aspx from Howard's reply at 08-30-2011 12:25 PM


Thanks,

James

 



Post9622.zip (36.1 KB)

James, your suggestion to set WrappingMode on the feature layers works great.  Thanks.  We can consider this issue solved.   



As to the mouse wheel problem, it only exist wihin this sample as I am not using the solution proposed by Howard in sample.  In our actual application there is no issue with mouse wheel.  Thanks again.


 



Hello Klaus, 
  
 We will do our best to make your coding easier, any more questions please feel free to let us know. 
  
 Regards, 
  
 Gary