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.
Map do not show correctly PointStyle of an InMemoryFeatureLayer
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