ThinkGeo.com    |     Documentation    |     Premium Support

Urgent Please

Dear ThinkGeo Support


I have been evaluating think geo for quite a good time and I have some isues that needs to be clarified as soon as possible


First, when setting multtiple layers to be loaded on defferent zoom levels does that mean that it won't be drawn till that zoom level or it is drawn but not visible till that zoom level?


Second, Is there any available method to keep track of the selected features in each layer ?


Please I want a soon reply to finalize ny assesment to decide wither to work with thinkgeo or other alternatives.


Best Regards..


Ahmed Mohammed Taha



Hi ahmed, 
  
 Thanks for your post, for your first question, MapSuite would not draw the layer till it arriving the applied zoom level. 
  
 And for second question, sorry but we don’t have an available method to get selected features in each layer, you can get the features by specified selected region in each layer. You can get each layer by their specified Id, then get selected features using query methods of Layer.FeatureSource.GetFeatureBy. Or you can do it by openlayer in client side, most of the layers in openlayer have a property named selectedFeature. 
  
 Hoping these will help you, thanks again for using our product. 
  
 Best Regards. 
  
 Gary 


 Dear Gary


Thanks for your reply. But with respect to the first issue that is not what is happening to me.


I am laoding 2 shapefiles in two different zoom levels 6 and 10; while selecting a feature at zoom level 7 the feature selected is of the second shapefile which according two your answer shouldn't be drawn yet. So please can you help figuring whta is wrong?


The code for loading the shaple files and the code for selecting features is attached in a txt file.


BTW i coudn't use the code tag to past my code here


Waiting for your soon reply


Best Regards....


Ahmed Mohammed Taha


 


 



 Hello ahmed,


 
MapSuite will only draw some Layers depending on its ZoomLevel setting, but it will not change the Layer collection of the Overlay dynamically. So in your code of event select_feature, you should filter all the layers through their ZoomLevel setting by yourself, adding below code snippet in the circulate of the event can solve your problem:

if(shapeFileLayer.ZoomLevelSet.GetZoomLevelForDrawing(Map1.CurrentExtent, Map1.WidthInPixels, Map1.MapUnit) == null)
                {
                    continue;
                }

If this code snippet has some wrong or you have any other questions, please let me know.
 
Thanks,
 
Gary
 

 Hello Gary


It worked as you sugested thanks for your help



Hello ahmed, 
  
 You are always welcome and don’t hesitate to let us know your questions. 
  
 Regards, 
  
 Gary