ThinkGeo.com    |     Documentation    |     Premium Support

Reset Zoom Level

Hi,


I am new to ThinkGeo ...


I have been looking at the API that would allow me to reset the Zoom Level after zoomIn and out.. (Zoom to the map level when it first starts)..


I am trying to use zoomTo( PointShape center, Double scale) to do this.  I first get the center when the app first starts.  However, I can't find a way to find the scale when it first starts.  Could you please let me know how and is there any better way to implement this Reset Zoom Level function?


 


Thanks a lot!


 


cheers,


Roson


 



Roson, 
  
 I’m not sure how do you reset your zoom levels; while resetting the client zoom level scales, I think you should know the scale values in the ClientZoomLevelScales collection. If you know the level, you can also find the scale which you set in the collection right? 
  
 Usually, we set CurrentExtent at first time. For example, we want to zoom to the states; we can use GetBoundingBox to find the extent of the states; then set to the CurrentExtent property. We use it in all our installed samples and we think it’s the best way to fix the area you want to zoom to. 
  
 Hope it helps and let me know if there is any misunderstanding. 
  
 Thanks, 
 Howard

Assuming your map is called Map1, this works: 
 parserMap1.initExtent(jsonMap1);

Rob, 
  
 Good; please feel free to let me know if you have more questions. 
  
 Thanks, 
 Howard

Thank you both, Howard and Rob. 
  
 now…  
 If I want to zoom to say like level 4, how could I do that in the javascript?  
 Map1.ZoomToScale(…)?  
  
 Thanks! 
  
 Roson

I do Map1.ZoomToScale(4); and it gives me the error message "object does not support this property or method. 
 How should I use ZoomToScale? 


Roson,



First of all, Map1 doesn't support this method; you can simply call this method by Map1.GetOpenLayersMap().zoomToScale(targetScale). Secondly, the parameter in this method is scale, not the level number. If you want to use 4 in your situation, please call zoomTo() method.



Here is a detail API of OpenLayers.Map, please see this for detail.

dev.openlayers.org/releases/...ap-js.html



Please let me know if you have any questions,



Thanks,

Howard



Howard, 
 Thanks a lot! 
  
 Roson

Lishan, 
  
 You are welcome. Let me know if you have more questions. 
  
 Thanks, 
 Howard