ThinkGeo.com    |     Documentation    |     Premium Support

Map Refresh breaks ZoomToPreviousExtent()

Hello ThinkGeo,


it looks like every call to Map.Refresh() creates a new item in the extent history that is used from ZoomToPreviousExtent() function.


You can reproduce it with the following steps:

- move to new extent

- call Map.Refresh

- call Map.Refresh

- call Map.Refresh

- call Map.Refresh

Now you have to call ZoomToPreviouesExtent() method 5 times if you want to jump the starting map extent. I would expect that only changes of the map extent shoulb be stored in the extent history.


I think this is a bug!

Thomas


 



Hi Thomas, 
  
 Our developer thought each time the extent is reassign value, it should be a previous extent even if they are the same value, so that’s why when you call refresh it will add a new previous record. For example, if user pan map by directly set value to map like: Map1.CurrentExtent = …, we need to save all the value as previous item, we won’t compare it with the earlier value. 
  
 But I think your suggestion maybe a better description for this API, I will talk with our developers later to see whether we will modify the behavior of this API. 
  
 As a workaround, please create your custom list for save previous extents, you can get the changed extent in the event ExtentChanged, and then set it back to map when you need to zoom to previous. 
  
 Regards, 
  
 Don