ThinkGeo.com    |     Documentation    |     Premium Support

Move map to feature (client side )

 hello again dears


 


i already add four sql layers to StaticOverlay and  then adde to map:


at client side we want get one of the four layers then move map to feature selected (id of feature and name of layer are available also)


 


we know both method :


getLayer


 



getLayersByName
return staticoverlay but how can i get layer is added to it and how can get feature of layer
by its id? is there another solution?



merci beaucoup

 



Hello hossein, 
  
 Thanks for your post, the OpenLayer’s layer is a collection, so it is like our overlay, in our server side, we call Overlay.layers[id] to get the exactly layer, and it is the same in the client side, you can just use getLayersByName get the layers(staticoverlay) then Layers[id] to get the layer.  
  
 Regards, 
  
 Gary

I thought, that if I combined several layers in on overlay on the server, I could get access only to the overlay on the client side, not to any of these layers because it is already one image on the client side. I can get only overlay, not layers  …but I am glad to be mistaken because it could improve functionality of my application 


 hi 


thank you Gary , God bless , one of you answer me!


only you Gary may save us!


are you sure?  look at this snippet code:


 


 MapObject.StaticOverlay.Name = "VLayers";


then:


MapObject.StaticOverlay.Layers.Add("linelayer", Llayer);


MapObject.StaticOverlay.Layers.Add("shapelayer", Slayer);


MapObject.StaticOverlay.Layers.Add("pointlayer", Player); 


and at client side:


 


 var map = MapObject.GetOpenLayersMap();
                   var layers = map.getLayersByName('VLayers');
                   alert(layers.length);               ?????           why return 1?
and there is no one of three layers i added to overlay!
something is wrong Gary?
i'm agree with Igor
 

 


 


 



Hello hossein, 
  
 Sorry it’s my fault, I made mistake, the layer is the stuff in Server side, it does not exist in the Client side, there is not way to operate it in the Client side. 
  
 So there are two ways to do your job, callback or Ajax. 
  
 Let me know if you still have queries. 
  
 Regards, 
  
 Gary