ThinkGeo.com    |     Documentation    |     Premium Support

Map do not show correctly PointStyle of an InMemoryFeatureLayer

Hi.



I’m new in Thinkgepo, so I will try explain my problem.



I have a map with some layers.

I create a new LayerOverlay with an InMemoryFeatureLayer. 

The InMemoryFeatureLayer represent points in the map.

For this layer I create a new Style (PointStyle). To start it will draw a circle.

I set the style to the layer with:


testInMemoryLayer.ZoomLevelSet.ZoomLevel01.CustomStyles.Clear();
testInMemoryLayer.ZoomLevelSet.ZoomLevel01.CustomStyles.Add(testPointStyle);
MapApplyUntilZoomLevel(testInMemoryLayer.ZoomLevelSet.ZoomLevel01, testInMemoryLayer.ZoomLevelSet.ZoomLevel20);





My problem is.

In some locations and in some zoom levels, the circle (that represents the location in the map) is cut, or is not showed at all.



At the beginning I have thought the problem was with the style I have created. 

So I have tested use an standard style like “PointStyle t = PointStyles.Capital1;”.

But the problem is the same.



I think when the map is rendered, the Tinkgeo split the map in “areas”, and each “area” is rendered in a parallel process. And if the location is on the edge of the “area”, the adjacent “area” will not finish the circle. 

How can I resolve this situation?





Note - I have a few knowledge in GIS, but I’m new in Thinkgeo



Thanks. 

Regards.

Hi Ricardo, 
  
 I think you should work under multiple-tile mode. 
  
 Here we have two solution for that: 
  
 1. Set tile type to use single tile mode. 
  
 LayerOverlay overlay; 
 overlay.TileType = TileType.MultipleTile; 
  
 You can only set tile mode in overlay level but not layer level. 
  
 2. Set DrawingMarginPercentage for make each tile render further. 
  
 testInMemoryLayer.DrawingMarginPercentage = 50; 
  
 Here we have a topic talk detail about it: 
 thinkgeo.com/forums/MapSuite/tabid/143/aft/4890/Default.aspx 
  
 Regards, 
  
 Don

Hi Don. 
  
 Thanks for you replay. 
 It help me to resolve my problem. 
 And the link help me to understand this kind of problems. 
  
 I have tested both suggestions, and both works in my map. 
 I have chosen the 2ª option (using DrawingMarginPercentage) because the others layers in the map are configured with TileType - MultipleTile. 
  
 Just a note. 
  
 In "overlay.TileType = TileType.MultipleTile;" 
 It shoud be "overlay.TileType = TileType.TileType.SingleTile; " 
 Rigth? 
  
 Thanks 
    

Hi Ricardo,  
  
 It’s strange because in my code that should be “overlay.TileType = TileType.SingleTile;” but not "overlay.TileType = TileType.TileType.SingleTile; " 
  
 Could you double check whether you build your custom TileType class in your project? 
  
 Our TileType is under namespace ThinkGeo.MapSuite.WpfDesktopEdition from WpfDesktopEdition.dll. 
  
 Regards, 
  
 Don

Hi Don. 
  
 Sorry, whan I wanted write was "overlay.TileType = TileType.SingleTile;" 
  
 Thans for all.


Posted By Ricardo on 06-05-2014 02:12 PM


Hi Don. 



Sorry, what I wanted write was "overlay.TileType = TileType.SingleTile;" 



Thans for all.



Hi Ricardo, 
  
 I am glad to hear that works for you. 
  
 Regards, 
  
 Don